Wait for other view animation end

android, android-animation, android-layout

Solution

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

            }});

Problem

I have the following layout snippet: ``` <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" /> ``` 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?

Original source