Android: 解决动画完成后位置恢复到初始位置的问题
2016-02-28 12:13
836 查看
今天在使用TranslateAnimation位移一个LinearLayout时,发现动画完成后又会自动回到初始的状态,设置了fillAfter也不太管用。
仔细研究了一下,发现:
这种现象很正常,因为TranslateAnimation只负责实现位移动画效果,并不会真正的改变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
仔细研究了一下,发现:
这种现象很正常,因为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
相关文章推荐
- Android测试系列之Local Unit Test
- Android拍照得到全尺寸图片并进行压缩
- Android Kotlin入门-控制流
- 2.11 Android Studio的常用快捷键
- HelloWorld-----Google手机操作系统Android应用开发入门
- Android DPAD按键无法使用
- [android] logcat简介
- Android:Canvas中drawText的尺寸计算
- Monkey日志信息Event percentages说明
- android 异常处理--java.io.IOException: 您的主机中的软件中止了一个已建立的连接
- Ubuntu完美下载Android源码
- Android自动化压力测试图解教程——Monkey工具
- Android Service完全解析,关于服务你所需知道的一切(上)
- Android Service完全解析,关于服务你所需知道的一切(下)
- 4.1.3.1 Android Broadcast-Receiver的心得
- Android Intent 传递List
- android 的主题theme
- Android之Monkey全参数(包含隐藏参数)
- Caused by: android.view.InflateException: You must specifiy a layout in the include tag: <include la
- Android实现RecyclerView的下拉刷新和上拉加载更多