这不是这个问题的直接答案。但是,它可能会帮助某人。
有时,我们想要增加/减少视图的高度,因为它的一些子项正在被添加/删除(或者只是变得可见/消失)。
在这些情况下,您确实可以使用 Android 默认动画。如其他答案中所述,您可以通过以下方式设置:
<LinearLayout
...
android:animateLayoutChanges="true"
.../>
或者在 Java 中:
linearLayout.setLayoutTransition(new LayoutTransition());
如果您创建了自定义视图:
public StickerPickerView(final Context context, final AttributeSet attrs,
final int defStyleAttr) {
super(context, attrs, defStyleAttr);
setLayoutTransition(new LayoutTransition());
}
对我来说,这非常令人满意,但我只是在最新的 API 上进行了测试。当您的视图变得可见时,这将自动添加淡入/淡出。当相同的更改(例如当您更改其中一个子视图的可见性等时)时,它还会为您的视图的高度/宽度设置动画。
所以,我建议至少尝试一下。