来源: 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" />
  1. android:delay表示动画播放的延时,既可以是百分比,也可以是float小数。
  2. android:animationOrder表示动画的播放顺序,有三个取值normal(顺序)、reverse(反序)、random(随机)。
  3. 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();

 

posted on 2015-06-29 11:37  道无涯  阅读(522)  评论(0编辑  收藏  举报