来源: http://my.oschina.net/u/724985/blog/289123
layout-animation可由xml和代码两种方式配置:
- XML
由于layout-animation是对于某一组控件的操作,就需要一个基本的动画来定义单个控件的动画。另外还可以定义动画的显示顺序和延迟:
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android" android:delay="30%" android:animationOrder="reverse" android:animation="@anim/slide_right" />
- android:delay表示动画播放的延时,既可以是百分比,也可以是float小数。
- android:animationOrder表示动画的播放顺序,有三个取值normal(顺序)、reverse(反序)、random(随机)。
- android:animation指向了子控件所要播放的动画。
将layout-animation应用到ViewGroup中,给控件添加一个属性
android:layoutAnimation="@anim/list_anim_layout"
这样在加载布局的时候就会自动播放layout-animtion。
- 代码配置
如果在xml中文件已经写好LayoutAnimation,可以使用AnimationUtils直接加载:
AnimationUtils.loadLayoutAnimation(context, id)
另外还可以手动java代码编写:
//通过加载XML动画设置文件来创建一个Animation对象; Animation animation=AnimationUtils.loadAnimation(this, R.anim.slide_right); //得到一个LayoutAnimationController对象; LayoutAnimationController controller = new LayoutAnimationController(animation); //设置控件显示的顺序; controller.setOrder(LayoutAnimationController.ORDER_REVERSE); //设置控件显示间隔时间; controller.setDelay(0.3); //为ListView设置LayoutAnimationController属性; listView.setLayoutAnimation(controller); listView.startLayoutAnimation();