android中animator及其监听器在cancel及end时的响应问题
2014-07-04 14:35
260 查看
1、AnimatorSet中存在多个animator,并且set及animator均添加了监听器的时候:
在start的时候会先分别执行各个animator的监听器的start方法,然后调用set自己的监听器的start方法。
在调用AnimatorSet的cancel()方法的时候,会首先调用set自己的cancel方法,然后循环对每个animator调用cancel及end方法,最后才调用set自己的end方法。
如下,alphaAnim与scaleAnim放到animSet中同时执行,三者均注册了监听器,启动animSet并且在执行中途执行cancel方法,调用如下:
alphaAnim start
scaleAnim start
animSet start
animSet cancel
alphaAnim cancel
alphaAnim end
scaleAnim cancel
scaleAnim end
animSet end
在animSet执行过程中调用animSet的end方法,调用顺序如下:
alphaAnim start
scaleAnim start
animSet start
alphaAnim end
scaleAnim end
animSet end
2、改为采用ScaleAnimation、AlphaAnimation、AnimationSet等方式来实现时,调用animSet的cancel方法,流程如下:
scaleAnim start
alphaAnim start
animSet start
animSet end
animSet end
scaleAnim end
alphaAnim end
animSet end
采用animationSet的时候执行流程有点诡异,set的end方法竟然调用了三次,不可理解。。看了下代码什么都没做,就是绑定了几个监听器,理论上没什么问题的啊。
在start的时候会先分别执行各个animator的监听器的start方法,然后调用set自己的监听器的start方法。
在调用AnimatorSet的cancel()方法的时候,会首先调用set自己的cancel方法,然后循环对每个animator调用cancel及end方法,最后才调用set自己的end方法。
如下,alphaAnim与scaleAnim放到animSet中同时执行,三者均注册了监听器,启动animSet并且在执行中途执行cancel方法,调用如下:
alphaAnim start
scaleAnim start
animSet start
animSet cancel
alphaAnim cancel
alphaAnim end
scaleAnim cancel
scaleAnim end
animSet end
在animSet执行过程中调用animSet的end方法,调用顺序如下:
alphaAnim start
scaleAnim start
animSet start
alphaAnim end
scaleAnim end
animSet end
2、改为采用ScaleAnimation、AlphaAnimation、AnimationSet等方式来实现时,调用animSet的cancel方法,流程如下:
scaleAnim start
alphaAnim start
animSet start
animSet end
animSet end
scaleAnim end
alphaAnim end
animSet end
采用animationSet的时候执行流程有点诡异,set的end方法竟然调用了三次,不可理解。。看了下代码什么都没做,就是绑定了几个监听器,理论上没什么问题的啊。
相关文章推荐
- Android--焦点问题-ListView中item及其子控件无法响应点击事件
- Android中自定义ListView无法响应OnItemClickListener中的onItemClick方法问题解决方案<转>
- Android 中的ANR 问题,响应灵敏性
- 编译Android程序时,遇到premature end of file问题
- Android中自定义ListView无法响应OnItemClickListener中的onItemClick方法问题解决方案
- Android3.1后Boot_COMPLETED广播不响应的问题
- 【Android日记】自定义View及其布局问题
- android自定义listview,添加监听器,解决屏幕滑动组件状态干扰的问题checkbox ...
- Android中自定义ListView无法响应OnItemClickListener中的onItemClick方法问题解决方案
- Android中自定义ListView无法响应OnItemClickListener中的onItemClick方法问题解决方案
- Android 中 PopupWindow 响应返回键并关闭的问题
- Android 中的ANR 问题,响应灵敏性
- Android 中 PopupWindow 响应返回键并关闭的问题
- android中webView焦点以及响应输入发的问题
- Android 中 PopupWindow 响应返回键并关闭的问题
- Android中自定义ListView无法响应OnItemClickListener中的onItemClick方法问题解决方案
- Android 中 PopupWindow 响应返回键并关闭的问题
- Android 中 PopupWindow 响应返回键并关闭的问题
- Android中自定义ListView无法响应OnItemClickListener中的onItemClick方法问题解决方案
- android自定义listview,添加监听器,解决屏幕滑动组件状态干扰的问题checkbox