我有以下布局片段:
<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" />
您可以看到,LinearLayout上的animateLayoutChanges设置为true,所以当添加一个项目时,它会添加动画.这可以,但删除有问题.如果我删除一个项目,动画仍然播放很好,但下面的TextView会立即弹出,不等待动画完成.如何实现这一点,甚至更好,使TextView动画与LinearLayout动画同步?
解决方法
您可以通过以下方式从视图中检索
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()){ //.... } }});