0
我正在利用LinearLayout的自動(內置)動畫,將animateLayoutChanges
添加到XML中。如何判斷animateLayoutChanges何時完成?
這很好地工作。
然而,當我在Animation.AnimationListener
附加到的LinearLayout它永遠不會觸發。所以,我很困惑我應該附加什麼樣的聽衆,也許我應該附加它,以便找出給定的過渡動畫何時完成。
所以..我有什麼是這樣的:
LinearLayout productsList = (LinearLayout)findViewById(R.id.pList);
productsList.setLayoutAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
Log.d(TAG, "animation started");
}
@Override
public void onAnimationEnd(Animation animation) {
Log.d(TAG, "animation ended");
}
@Override
public void onAnimationRepeat(Animation animation) {
Log.d(TAG, "animation repeated");
}
});
播放動畫時,如預期,但沒有我的日誌都沒有寫過。
我必須以我自己的自定義動畫添加到佈局對於這個工作,還是我失去了一些東西明顯?
引人入勝。這絕對是朝正確方向邁出的一步,但我注意到endTransition被多次觸發(看起來與父級佈局中的項目數量有關),但我對韻律或原因並不清楚。你真的知道我怎麼知道它是在什麼時候完成的嗎? –
嘗試檢查transitionType值。這是一個文檔:http://developer.android.com/intl/ru/reference/android/animation/LayoutTransition.html –
我檢查了這一點。每個startTransition都與endTransition配對。您可以增加/減少計數器以檢測上次轉換結束。 –