Android日記之2012\01\11

今天學習到了使用Animation來做一組圖片的連環播放,也就是逐幀播放。
總的來說是有兩種方法來實現的,一種是配置anim文件,通過image.getBackground來爲AnimationDrawable來賦值,通過start和stop方法來控制播放。但是這個也有點小變態,就是必須在事件中才能播放,估計通過handler也可以,只是自己還沒做技術驗證。
第二種是比較取巧的方法。用過ProgressBar的都知道,它的圈圈是自動轉的,我們只需要創建一個ProgressBar控件,然後爲它設定一個style,那在那邊動的就不是圈圈,而是你自己的圖片了。
代碼一:
<animation-list android:oneshot="false"xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:duration="150"android:drawable="@drawable/bottom" />
  <item android:duration="150"android:drawable="@drawable/top" />
  <item android:duration="150"android:drawable="@drawable/bottom" />
  <item android:duration="150"android:drawable="@drawable/top" />
</animation-list>
這是anim文件夾下的xml文件,有幾個值說下:oneshot,表示是否需要連環播放,false表示爲需要;duration,表示圖片之間的播放間隔;drawable就不同多說了。
代碼二:
ImageView image1 = (ImageView) findViewById(R.id.imageView1);
Object ob = image1.getBackground();
AnimationDrawable ad = (AnimationDrawable) ob;
然後在click事件中ad.start()就行了。
代碼三:
<resources>
<style name="animStyle"parent="@android:style/Widget.ProgressBar.Large">
<item name="android:indeterminateDrawable">@anim/myanim</item>
</style>
</resources>


<ProgressBar
android:id="@+id/ProgressBar01"
style="@style/animStyle"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
</ProgressBar>
這就是通過爲ProgressBar設定style來實現圖片播放
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章