等待其他视图动画结束

Won*_*abo 11 android android-animation android-layout

我有以下布局片段:

    <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" />
Run Code Online (Sandbox Code Playgroud)

如您所见,animateLayoutChanges设置为trueon LinearLayout,因此当一个项目添加到它时,它会动画添加.这没关系,但删除有问题.如果我删除一个项目,动画仍然可以正常播放,但TextView下面会立即弹出并且不会等待动画完成.我怎样才能实现这一点,甚至更好,使TextView动画与LinearLayout动画同步?

Nik*_*ski 20

您可以通过以下方式从视图中检索LayoutTransition:

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()){
                                //....
                                }

            }});
Run Code Online (Sandbox Code Playgroud)