`
thierry.xing
  • 浏览: 655746 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
580fa9c1-4a0c-3f40-a55a-c9256ce73302
Sencha Touch中...
浏览量:0
社区版块
存档分类
最新评论

Android: 解决动画完成后位置恢复到初始位置的问题

 
阅读更多

今天在使用TranslateAnimation位移一个LinearLayout时,发现动画完成后又会自动回到初始的状态,设置了fillAfter也不太管用。

仔细研究了一下,发现:

 

这种现象很正常,因为TranslateAnimation只负责实现位移动画效果,并不会真正的改变LinearLayout的位置,所以需要加一个AnimationListener ,在动画结束(onAnimationEnd() )后,通过设置LayoutParam里相关属性来改变LinearLayout位置才行。

 

@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

 

 

2
0
分享到:
评论
1 楼 Sasoritattoo 2013-03-09  
非常感谢!!!解决了我的心头之痛,谢谢!!

相关推荐

Global site tag (gtag.js) - Google Analytics