最近遇到一个需求,通过在GridView上改变焦点,并且GridView上每个item有一个隐藏的层,获取焦点之后,通过AlphaAnimation显示出来。
发现当duration大于500时,快速移动焦点,每个item都会播放一次动画。
需求是焦点移动到别的item,当前item的动画停止。
通过测试发现,调用Animation中的cancel()方法不能实现这样的效果。
我使用了以下方法,均未成功:
1.调用Animation的cancel()方法;
2.将播放动画的view invisible。
3.将正在播放的动画置null。
在国外的一个论坛中,找到了结果。
调用view中的clearAnimation()方法,即可消除view上正在运行的动画效果。
转自:http://blog.youkuaiyun.com/easonx1990/article/details/8231520
本文介绍了一个在移动焦点时取消当前item动画的需求背景及解决方案。当焦点快速移动时,每个item会播放一次动画,不符合预期。文章详细记录了作者尝试取消动画的几种方法,最终在海外论坛找到了使用view.clearAnimation()来清除动画的有效方案。
693

被折叠的 条评论
为什么被折叠?



