Drawable animation可以載入Drawable資源實現幀動畫。AnimationDrawable是實現Drawable animations的基本類。
這裡用AnimationDrawable 簡單類比動態圖的實現。
fragment_main 布局檔案 ---- 只需要放一個 ImageView即可
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.yztc.frameanimation.MainActivity" > <ImageView android:id="@+id/iv_frame" android:layout_width="match_parent" android:layout_height="200dp" android:background="@drawable/girl_and_boy" /></RelativeLayout>
girl_and_boy 布局檔案 ---- 實現動畫
推薦用XML檔案的方法實現Drawable動畫,不推薦在代碼中實現。這種XML檔案存放在工程中res/drawable/目錄下。XML檔案的指令(即屬性)為動畫播放的順序和時間間隔。
<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android" > <!-- onshot 屬性工作表示動畫只執行一次 --> <!-- duration 表示期間 --> <item android:drawable="@drawable/girl_1" android:duration="200"> </item> <item android:drawable="@drawable/girl_2" android:duration="200"> </item> <item android:drawable="@drawable/girl_3" android:duration="200"> </item> <item android:drawable="@drawable/girl_4" android:duration="200"> </item> <item android:drawable="@drawable/girl_5" android:duration="300"> </item> <item android:drawable="@drawable/girl_6" android:duration="400"> </item> <item android:drawable="@drawable/girl_7" android:duration="500"> </item> <item android:drawable="@drawable/girl_8" android:duration="400"> </item> <item android:drawable="@drawable/girl_9" android:duration="300"> </item> <item android:drawable="@drawable/girl_10" android:duration="200"> </item> <item android:drawable="@drawable/girl_11" android:duration="200"> </item></animation-list>
MainActivity
package com.dragon.android.initgif;import android.app.Activity;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.widget.ImageView;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragment_main); ImageView ivFrame = (ImageView) findViewById(R.id.iv_frame); // 得到一個動畫圖片 AnimationDrawable background = (AnimationDrawable) ivFrame .getBackground(); // 開始播放 background.start(); // 停止方法. // background.stop(); }}
以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。