博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android显示GIF图片
阅读量:5894 次
发布时间:2019-06-19

本文共 1308 字,大约阅读时间需要 4 分钟。

今天我们研究一下怎样在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布局文件是:

效果图例如以下:

整个演示样例project文件下载链接:

你可能感兴趣的文章
如何向妻子解释设计模式
查看>>
FolderPane
查看>>
CentOS 6.4 安装RBTools 报错 ImportError: Entry point ('console_scripts', 'easy_install') not found...
查看>>
Maven学习总结(七)——eclipse中使用Maven创建Web项目
查看>>
java描述学生
查看>>
如何取未知Json字符串 某个主键取对应的Value
查看>>
Java基础学习总结(4)——对象转型
查看>>
迁移home分区
查看>>
Git使用详细教程
查看>>
linux 查看进程使用(打开)的文件
查看>>
Java基础学习总结(9)——this关键字
查看>>
提取用户下的所有表的表结构
查看>>
[IOI2018]组合动作——构造
查看>>
POJ 3026 Borg Maze 广搜(BFS)+最小生成树
查看>>
字符串转化成字符型指针
查看>>
2019年春第一次程序设计实验报告
查看>>
python datetime模块
查看>>
问卷调查
查看>>
android-ndk-r10 编译 curl
查看>>
谷歌开发者工具使用
查看>>