Android动画之LayoutAnimationController

LayoutAnimationController可以控制一组控件按照规定显示,有两种方法来实现

1.下面以XML文件实现,先在res下新建anim文件夹,新建一个文件alpha.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <set xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:interpolator="@android:anim/accelerate_interpolator"  
  4.     android:shareInterpolator="true"  
  5.     >  
  6.     <alpha  
  7.         android:fromAlpha="0"  
  8.         android:toAlpha="1"  
  9.         android:duration="3000"  
  10.             />  
  11. </set>  
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:shareInterpolator="true"
    >
    <alpha
        android:fromAlpha="0"
        android:toAlpha="1"
        android:duration="3000"
            />
</set>

然后新建一个文件layoutanimation.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <layoutAnimation  
  3.     xmlns:android="http://schemas.android.com/apk/res/android"  
  4.     android:delay="0.5"  
  5.     android:animationOrder="normal"  
  6.     android:animation="@anim/alpha"  
  7.     />  
<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:delay="0.5"
    android:animationOrder="normal"
    android:animation="@anim/alpha"
    />

在listview中使用下面代码

  1. <ListView  
  2.         android:id="@+id/listView1"  
  3.         android:layout_width="fill_parent"  
  4.         android:layout_height="wrap_content"         
  5.  android:layoutAnimation="@anim/layoutanimation"/>  
<ListView
        android:id="@+id/listView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"       
 android:layoutAnimation="@anim/layoutanimation"/>

   

这样就完成了

2.代码实现

  1.                 AlphaAnimation alpha=new AlphaAnimation(0, 1);  
  2. alpha.setDuration(3000);  
  3. LayoutAnimationController lac=new LayoutAnimationController(alpha);  
  4. lac.setOrder(LayoutAnimationController.ORDER_NORMAL);  
  5. lv.setLayoutAnimation(lac);  
                  AlphaAnimation alpha=new AlphaAnimation(0, 1);
		alpha.setDuration(3000);
		LayoutAnimationController lac=new LayoutAnimationController(alpha);
		lac.setOrder(LayoutAnimationController.ORDER_NORMAL);
		lv.setLayoutAnimation(lac);

下面是显示的顺序

LayoutAnimationController.ORDER_NORMAL;    //顺序显示   LayoutAnimationController.ORDER_REVERSE;//反显示   LayoutAnimationController.ORDER_RANDOM//随机显示

posted @ 2016-02-06 18:12  crazy_machine  阅读(335)  评论(0)    收藏  举报