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

本文共 1363 字,大约阅读时间需要 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文件下载链接:

转载于:https://www.cnblogs.com/mengfanrong/p/5181398.html

你可能感兴趣的文章
程序的基础知识
查看>>
在VIM中使用GDB调试 – 使用vimgdb
查看>>
python爬虫---从零开始(五)pyQuery库
查看>>
POJ2236(KB5-A)
查看>>
Centos MySQL数据库迁移详细步骤
查看>>
2初出茅庐--初级篇2.1
查看>>
新建 WinCE7.0 下的 Silverlight 工程
查看>>
腾讯的张小龙是一个怎样的人?
查看>>
jxl写入excel实现数据导出功能
查看>>
linux文件目录类命令|--cp指令
查看>>
.net MVC 404错误解决方法
查看>>
linux系统目录结构
查看>>
git
查看>>
btn按钮之间事件相互调用
查看>>
Entity Framework 4.3.1 级联删除
查看>>
codevs 1163:访问艺术馆
查看>>
冲刺Noip2017模拟赛3 解题报告——五十岚芒果酱
查看>>
并查集
查看>>
sessionStorage
查看>>
代码示例_进程
查看>>