等待其他视图动画结束 [英] Wait for other view animation end
问题描述
我有以下布局片段:
<LinearLayout
android:id="@+id/tagContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="true" >
</LinearLayout>
<TextView
android:id="@+id/commentLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tagContainer" />
正如你所看到的, animateLayoutChanges
设置为真
在的LinearLayout
,所以当一个项目被添加到它,它以动画的加法。此行,但有问题的去除。如果我删除一个项目,该动画依然打得很好,但的TextView
下面会弹出立刻不会等待动画完成。我怎样才能做到这一点,甚至更好,使的TextView
动画了与的LinearLayout
动画同步?
As you can see, animateLayoutChanges
is set to true
on the LinearLayout
, so when an item is added to it, it animates the addition. This ok, but there are problems with the removal. If i remove an item, the animation still plays well, but the TextView
below pops up immediately and does not wait for the animation to finish. How can i achieve this, or even better, make the TextView
animate up synchronized with the LinearLayout
animation?
推荐答案
您可以检索<一href="http://developer.android.com/reference/android/view/ViewGroup.html#setLayoutTransition%28android.animation.LayoutTransition%29">LayoutTransition从下面的方式的观点:
You can retrieve the LayoutTransition from the view in following way:
mLinearLayout = findViewById(R.id.myLayout);
LayoutTransition layoutTransition = mLinearLayout.getLayoutTransition();
layoutTransition.addTransitionListener(new TransitionListener(){
@Override
public void endTransition(LayoutTransition arg0, ViewGroup arg1,
View arg2, int arg3) {
switch(arg2.getId()){
//....
}
}
@Override
public void startTransition(LayoutTransition transition,
ViewGroup container, View view, int transitionType) {
switch(view.getId()){
//....
}
}});
这篇关于等待其他视图动画结束的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!