做网站郑州汉狮,电商网站建设课程设计实验报告,网络营销概念及理解,成都seo网站开发今天在使用TranslateAnimation位移一个LinearLayout时#xff0c;发现动画完成后又会自动回到初始的状态#xff0c;设置了fillAfter也不太管用。
仔细研究了一下#xff0c;发现#xff1a; 这种现象很正常#xff0c;因为TranslateAnimation只负责实现位移动画效果发现动画完成后又会自动回到初始的状态设置了fillAfter也不太管用。
仔细研究了一下发现 这种现象很正常因为TranslateAnimation只负责实现位移动画效果并不会真正的改变LinearLayout的位置所以需要加一个AnimationListener ,在动画结束onAnimationEnd() 后通过设置LayoutParam里相关属性来改变LinearLayout位置才行。 Java代码 Override protected void onAnimationEnd() { super.onAnimationEnd(); FrameLayout.LayoutParams ll new FrameLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.FILL_PARENT); ll.setMargins(-50, 0, 0, 0); main_layout.setLayoutParams(ll); } 原创帖转发请注明出处http://thierry-xing.iteye.com/blog/1400217