等待其他视图动画结束 [英] Wait for other view animation end

查看:127
本文介绍了等待其他视图动画结束的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下布局片段:

    <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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆