LayoutTransitions不适用于可见性更改

时间:2016-03-05 02:02:18

标签: android android-layout animation layouttransition

我尝试使用LayoutTransition动画,但它们无法正常工作。

我设置

android:animateLayoutChanges="true

在我的Activity布局中的父LinearLayout中。然后,当检查或取消选中另一个CheckBox时,我对包含一些复选框的子LinearLayout执行setVisibility(View.VISIBLE)或setVisibility(View.GONE)。可见性更改未设置动画。父LinearLayout中有一个ScrollView。

我还尝试使用

以编程方式设置布局转换
LayoutTransition layoutTransition = new LayoutTransition();
layout.setLayoutTransition(layoutTransition)

但这也没有效果。

我哪里错了?这应该很简单。

这是在Android 6.0.1上,并使用v23.2.0支持库中的AppCompatActivity。

编辑:我注意到一些布局更改是动画的。例如,当我在VISIBLE和GONE之间设置recyclerView的可见性时,可以很好地动画。但是,当其可见性设置为VISIBLE / GONE时,保存3个复选框的简单布局不会生成动画。

1 个答案:

答案 0 :(得分:2)

看起来所有布局你希望你想要动画的内容都必须设置标志。我认为animateLayoutChanges标志会传递给它的子布局,所以我只在父布局上设置它,但它看起来不是。