Android的Animation之LayoutAnimation使用方法

LayoutAnimationController用於爲一個layout裏面的控件,或者是一個ViewGroup裏面的控件設置動畫效果,能夠在XML文件中設置,亦能夠在Java代碼中設置。 html

一種直接在XML文件中設置 java

1.  res/anim文件夾下新建一個XML文件,名爲list_anim_layout.xml, linux

[java]  view plain copy
  1. <layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"  
  2.         android:delay="30%"  
  3.         android:animationOrder="reverse"  
  4.         android:animation="@anim/slide_right" />  

android:delay  子類動畫時間間隔 (延遲)   70% 也能夠是一個浮點數 如「1.2」等 android

android:animationOrder="random"   子類的顯示方式 random表示隨機 dom

android:animationOrder 的取值有  ide

normal 0    默認
reverse 1   倒序
random 2   隨機

android:animation="@anim/slide_right" 表示孩子顯示時的具體動畫是什麼 佈局


說明:其中delay的單位爲秒;animation爲設置動畫的文件。animationOrder爲進入方式

2.  res/anim文件夾下新建一個XML文件,名爲slide_right,即上面用到的文件。 動畫

[html]  view plain copy
  1.     <set xmlns:android="http://schemas.android.com/apk/res/android"   
  2.         android:interpolator="@android :anim/accelerate_interpolator">  
  3.     <translate android:fromXDelta="-100%p" android:toXDelta="0"  
  4.             android:duration="@android :integer/config_shortAnimTime" />  
  5. </set>  

 顯示的效果爲ListView第一次出現的時候爲 item隨機出現 每一個Item都是從左不可見(-100%p)的區域向右滑動到顯示的地方 this

3.  在主佈局文件中爲控件添加以下配置: spa

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);

相關文章
相關標籤/搜索