最近遇到一个需求,通过在GridView上改变焦点,并且GridView上每个item有一个隐藏的层,获取焦点之后,通过AlphaAnimation显示出来。
发现当duration大于500时,快速移动焦点,每个item都会播放一次动画。
需求是焦点移动到别的item,当前item的动画停止。
通过测试发现,调用Animation中的cancel()方法不能实现这样的效果。
我使用了以下方法,均未成功:
1.调用Animation的cancel()方法;
2.将播放动画的view invisible。
3.将正在播放的动画置null。
在国外的一个论坛中,找到了结果。
调用view中的clearAnimation()方法,即可消除view上正在运行的动画效果。