ListView進階系列之一 內容順序淡淡顯示

jia635發表於2014-07-14

listView可以說是用的最多的控制元件之一了,給listview新增特效,將是日後開發中在所難免的事情。

實現一個簡單的listview顯示

這個大家應該是相當熟悉了。

q      在佈局檔案中新增ListView控制元件。(main.xml)

q      再在Layout中新建一個ListView每一項要顯示的內容。(lvitem.xml)

q      在程式碼中得到ListView的引用,為其設定介面卡,新增資料。(DemoActivity.java)


新增特效

listview的特效是通過Animation實現,首先在res中新增資料夾anim,在其中新建一個animationSet的xml,animatonset1.xml,在其中新增要使用的特效,特效的新增參考本部落格的Animation系列教程。

之後要使用LayoutAnimationController,這裡簡要介紹一下該類的作用。

q      LayoutAnimationController用於為一個Layout裡面的控制元件,或者是一個ViewGroup裡面的控制元件設定動畫效果。

q      每一個控制元件將會擁有相同的動畫效果。

q      可以設定每個控制元件的動畫效果的時間,這些工作可以在xml中也可以在程式碼中實現。

具體實現情況程式碼:animationlayout.xml。在程式碼中將使用android:animation="@anim/animatonset1"引用之前的animation。

最後就可以為已經寫好的listview新增動畫效果。新增的方式很簡單,只要在listview的xml檔案宣告處使用android:layoutAnimation="@anim/animationlayout"就可。

看程式碼

animatonset1

<?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.0"

                   android:toAlpha="1.0"

                   android:duration="1000" />

</set>


animationlayout

<?xml version="1.0" encoding="utf-8"?>


<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
         android:delay="0.5"
         android:animationOrder="random"
         android:animation="@anim/animatonset1" />

相關文章