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配对。您可以增加/减少计数器以检测上次转换结束。 –