android 設置佈局動畫

一.在xml中設置


  a.在res/anim文件夾下新建一個XML文件,名爲layout_anim.xml,

  1. <layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"  

  2.         android:delay="30%"  

  3.         android:animationOrder="reverse"  

  4.         android:animation="@anim/slide_anim" />  


android:delay  子類動畫時間間隔 (延遲)   70% 也可以是一個浮點數 如“1.2”等

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

android:animationOrder 的取值有 

normal0默認
reverse1倒序
random2隨機

android:animation="@anim/slide_right" 表示子佈局顯示時的動畫

注:delay的單位爲秒;animation爲設置動畫的文件,animationOrder爲進入方式


    b.  在res/anim文件夾下新建一個XML文件,名爲slide_anim,即上面用到的文件。

  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="500" />  

  5. </set>

每個Item都是從左不可見(-100%p)的區域向右滑動到顯示的地方


  c.  在主佈局文件中爲控件添加如下配置:

android:layoutAnimation="@anim/list_anim_layout",即第一步的佈局文件。


二.在代碼中設置


        //通過加載XML動畫設置文件來創建一個Animation對象;

           Animation animation=AnimationUtils.loadAnimation(this, R.anim.slide_anim); //設置的動畫

       //得到一個LayoutAnimationController對象;

           LayoutAnimationController lac=new LayoutAnimationController(animation);

       //設置控件顯示的順序;

           lac.setOrder(LayoutAnimationController.ORDER_REVERSE);

       //設置控件顯示間隔時間;

           lac.setDelay(1);

       //爲layout設置LayoutAnimationController屬性;

           layout.setLayoutAnimation(lac);



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章