且要它動起來,
可以參考 GifAnimationDrawable GitHub 專案,
只需要兩個 Java 檔案當作 Library: GifAnimationDrawable.java, GifDecoder.java,
就可以讓 Android 實現此功能,
範例, 參考如下 :
程式碼
public class HelloWorld extends Activity
{
private ImageView iv2;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView( R.layout.main );
setTitle("Gif 動畫");
ImageView iv = (ImageView)findViewById( R.id.image1);
iv2 = (ImageView)findViewById( R.id.image2);
iv2.setOnClickListener( new OnClickListener() {
@Override
public void onClick(View v)
{
// 點擊一下, 再開始播放一次
// 以下寫法, 等同 gif2.setVisible(true, true);
((GifAnimationDrawable)iv2.getDrawable()).setVisible(true, true);
}
});
try
{
// 取得 Gif 動畫檔
GifAnimationDrawable gif1 = new GifAnimationDrawable( getResources().openRawResource(R.raw.anim1) );
// Gif Drawable 設定給 ImageView
iv.setImageDrawable(gif1);
// 連續播放
gif1.setOneShot(false);
// 開始播放
gif1.setVisible(true, true);
// ----------------------------------
// 取得 Gif 動畫檔
GifAnimationDrawable gif2 = new GifAnimationDrawable( getResources().openRawResource(R.raw.anim2) );
// Gif Drawable 設定給 ImageView
iv2.setImageDrawable(gif2);
// 只播放一次
gif2.setOneShot(true);
}
catch( IOException ioe ){}
}
}