今天在使用TranslateAnimation
位移一个LinearLayout
时,发现动画完成后又会自动回到初始的状态,设置了fillAfter
也不太管用。
仔细研究了一下,发现这种现象很正常,因为TranslateAnimation
只负责实现位移动画效果,并不会真正的改变LinearLayout
的位置,所以需要加一个AnimationListener
,在动画结束(onAnimationEnd()
)后,通过设置LayoutParam
里相关属性来改变LinearLayout
位置才行。
具体的Margin
的数值,根据实际需要进行调整即可。也可以直接设置控件的起始X,Y坐标即可。