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自带这个功能就行了,免得到时候自己去实现。