LayoutAnimationController用於為一個layout裡面的控件,或者是一個ViewGroup裡面的控件設置動畫效果,可以在XML文件中設置,亦可以在Java代碼中設置。
第一種設置方法:在XML文件中設置
1. 在res/anim文件夾下新建一個XML文件,名為list_anim_layout.xml,
<layoutAnimation xmlns:Android="http://schemas.android.com/apk/res/android"
android:animation="@anim/list_anim" android:delay="0.5" android:animationOrder="random">
</layoutAnimation>
說明:其中delay的單位為秒;animation為設置動畫的文件。
2. 在res/anim文件夾下新建一個XML文件,名為list_anim,即上面用到的文件。
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="0" android:toAlpha="1" android:duration="3000">
</alpha>
<rotate android:fromDegrees="0" android:toDegrees="180" android:pivotX="50%" android:pivotY="50%" android:duration="3000">
</rotate>
</set>
具體參數說明在之前實例中有,這裡不詳解。
3. 在主布局文件中為控件添加如下配置:
android:layoutAnimation="@anim/list_anim_layout",即第一步的布局文件。
第二種設置方法:在Java代碼中設置
1. 同上;
2. 同上;
4. 在Acitivty中添加如下代碼:
//通過加載XML動畫設置文件來創建一個Animation對象;
Animation animation=AnimationUtils.loadAnimation(this, R.anim.list_anim);
//得到一個LayoutAnimationController對象;
LayoutAnimationController lac=new LayoutAnimationController(animation);
//設置控件顯示的順序;
lac.setOrder(LayoutAnimationController.ORDER_REVERSE);
//設置控件顯示間隔時間;
lac.setDelay(1);
//為ListView設置LayoutAnimationController屬性;
datalist.setLayoutAnimation(lac);