Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android顯示GIF圖片

Android顯示GIF圖片

編輯:關於Android編程

今天我們研究一下如何在Android手機上顯示GIF動態圖片
首先需要在src目錄下新建一個自定義的View,代碼如下:





 

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Movie;
import android.util.AttributeSet;
import android.view.View;

public class MyGifView extends View {
	
	//表示開始播放gif圖片的絕對時間
	private long movieStart = 0;
	//movie對象管理gif圖片裡面的多個幀
	private Movie movie;

	public MyGifView(Context context, AttributeSet attrs) {
		super(context, attrs);
		movie = Movie.decodeStream(context.getResources().openRawResource(
				R.drawable.horse));
	}

	@Override
	protected void onDraw(Canvas canvas) {
		long currentTime = System.currentTimeMillis();
		// 第一次播放
		if (movieStart == 0) {
			movieStart = currentTime;
		}
		
		//循環播放
		if (movie != null) {
			int duration = movie.duration();
			int relTime = (int) ((currentTime - movieStart) % duration);
			movie.setTime(relTime);
			movie.draw(canvas, 0, 0);
			// 強制重繪
			invalidate();
		}
		
		//如果只想播放一次,只需判斷currentTime-movieStart的值大於duration就不重繪即可

		super.onDraw(canvas);
	}
}

接著寫一個Activity,用來顯示gif圖片:

 

 

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}
}

XML布局文件是:

 

 



    


效果圖如下:

 

\

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved