Layout动画:在android布局发生变化时添加动画效果

layout动画在每次布局发生变化的时候系统调用的一个预加载动画效果,使用layout动画可以让布局的变化过度看起来更自然。使用起来很简单,只需在控件中添加一个属性就可以了,系统默认是不会启动layout动画的,因此我们平时的应用中不会产生这个效果。

当然,如果你想自定义一下这个动画效果,那就必须在代码中自己写了:新建一个LayoutTransition对象,调用setLayoutTransition()方法来为layout设置动画。

下面是在xml中通过设置属性得到的默认动画效果:

使用方法:

在activity的xml中,设置android:animateLayoutChanges属性:

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

这样,当该LinearLayout中的布局发生变化时,将会有动画效果。

什么情况下布局会在运行时改变呢,一般都是你的代码中调用了addView 之类的方法:

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

好了,这个东西很简单,只是平时很少注意到,只要记得android自带这个功能就行了,免得到时候自己去实现。

你可能感兴趣的:(Layout动画:在android布局发生变化时添加动画效果)