Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android中animator及其監聽器在cancel及end時的響應問題

android中animator及其監聽器在cancel及end時的響應問題

編輯:關於Android編程

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方法竟然調用了三次,不可理解。。看了下代碼什麼都沒做,就是綁定了幾個監聽器,理論上沒什麼問題的啊。





  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved