標籤:android style blog class code java
逐幀動畫的xml代碼:
1 <?xml version="1.0" encoding="utf-8"?> 2 <animation-list xmlns:android="http://schemas.android.com/apk/res/android" 3 android:oneshot="true" > 4 5 <item 6 android:drawable="@drawable/img10" 7 android:duration="1000"> 8 </item> 9 <item10 android:drawable="@drawable/img9"11 android:duration="1000">12 </item>13 <item14 android:drawable="@drawable/img8"15 android:duration="1000">16 </item>17 <item18 android:drawable="@drawable/img7"19 android:duration="1000">20 </item>21 <item22 android:drawable="@drawable/img6"23 android:duration="1000">24 </item>25 <item26 android:drawable="@drawable/img5"27 android:duration="1000">28 </item>29 <item30 android:drawable="@drawable/img4"31 android:duration="1000">32 </item>33 <item34 android:drawable="@drawable/img3"35 android:duration="1000">36 </item>37 <item38 android:drawable="@drawable/img2"39 android:duration="1000">40 </item>41 <item42 android:drawable="@drawable/img1"43 android:duration="1000">44 </item>45 <item46 android:drawable="@drawable/img0"47 android:duration="1000">48 </item>49 50 </animation-list>
View Code
對應的android代碼:
說明:
- android:oneshot:幀動畫啟動並執行次數,true表示運行一次,false表示迴圈播放;
- item:定義每幀的屬性;
- android:drawable:指定該幀對應的映像資源;
- android:duration:該幀映像停留的時間。
1 public class MainActivity extends Activity { 2 3 private ImageView img; 4 private Button button; 5 private AnimationDrawable animationDrawable; 6 @Override 7 protected void onCreate(Bundle savedInstanceState) { 8 super.onCreate(savedInstanceState); 9 setContentView(R.layout.activity_main);10 int duration=0; // duration是記錄第一個動畫播放的總時間11 img=(ImageView) findViewById(R.id.imageView);12 img.setImageResource(R.drawable.item_anim);13 animationDrawable=(AnimationDrawable) img.getDrawable();14 img.post(new Runnable() { //在非同步線程中執行啟動的方法15 16 @Override17 public void run() {18 // TODO Auto-generated method stub19 animationDrawable.start(); //啟動動畫20 }21 });22 for(int i=0;i<animationDrawable.getNumberOfFrames();i++){23 duration+=animationDrawable.getDuration(i); //計算動畫播放的時間24 25 }26 Handler handler=new Handler();27 handler.postDelayed(new Runnable() {28 public void run() {29 Intent intent=new Intent(MainActivity.this,TestActivity.class); //Intent 意圖 在執行完動畫的時候 跳轉至另一個頁面30 startActivity(intent);31 32 }33 }, duration);34 35 }36 37 38 }