欢迎参加我们将于 6 月 3 日举行的 #Android11:Beta 版发布会

自动为布局更新添加动画

Android 提供了系统在您每次对布局做出更改后运行的预加载动画。您只需在布局中设置一个属性,告知 Android 系统为这些布局更改添加动画,系统就会为您执行系统默认动画。

提示:如果要提供自定义布局动画,请创建 LayoutTransition 对象并使用 setLayoutTransition() 方法将其提供给布局。

以下是将项目添加到列表时的默认布局动画效果:

布局动画
 

创建布局

在 Activity 的布局 XML 文件中,针对您要启用动画的布局,将 android:animateLayoutChanges 属性设置为 true。 例如:

    <LinearLayout android:id="@+id/container"
        android:animateLayoutChanges="true"
        ...
    />
    

为布局添加、更新或移除项目

现在,您只需为布局添加、移除或更新项目,系统就会自动对这些项目进行动画处理:

Kotlin

    lateinit var containerView: ViewGroup
    ...
    private fun addItem() {
        val newView: View = ...

        containerView.addView(newView, 0)
    }
    

Java

    private ViewGroup containerView;
    ...
    private void addItem() {
        View newView;
        ...
        containerView.addView(newView, 0);
    }