大家知道,在Android中使用ImageView来显示gif格式的图片,我们无法得到gif格式图片该有的效果,它只会停在第一帧上,而不会继续。这时只能看到一张静态的图片,这里我们可以使用个简单的方法,即是使用Movie来显示图片。

1.在main.xml中添加ImageView,指定一张GIF图片为背景;

2.MainActivity.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package com.yin.displayGIF;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Movie;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends Activity {
    private MyCustomView mView;
    private Movie mMovie;
    private long mMovieStart;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mView = new MyCustomView(this);
        setContentView(mView);
    }
    // 自定义一个类,继承View
    class MyCustomView extends View {
        public MyCustomView(Context context) {
            super(context);
            // 以文件流的方式读取文件
            mMovie = Movie.decodeStream(getResources().openRawResource(
                    R.drawable.my_picture));
        }
        @Override
        protected void onDraw(Canvas canvas) {
            long curTime = android.os.SystemClock.uptimeMillis();
            // 第一次播放
            if (mMovieStart == 0) {
                mMovieStart = curTime;
            }
            if (mMovie != null) {
                int duration = mMovie.duration();
                int relTime = (int) ((curTime - mMovieStart) % duration);
                mMovie.setTime(relTime);
                mMovie.draw(canvas, 00);
                // 强制重绘
                invalidate();
            }
            super.onDraw(canvas);
        }
    }
}

Android显示gif格式图片相关推荐

  1. 【数字图像处理】一.MFC详解显示BMP格式图片

    本文主要是讲述<数字图像处理>系列栏目中的第一篇文章.主要详细介绍了BMP图片格式,同时使用C++和MFC显示BMP格式,主要结合自己的<数字图像处理>课程和以前的项目叙述讲解 ...

  2. MFC详解显示BMP格式图片

    本文主要是讲述<数字图像处理>系列栏目中的第一篇文章.主要详细介绍了BMP图片格式,同时使用C++和MFC显示BMP格式,主要结合自己的<数字图像处理>课程和以前的项目叙述讲解 ...

  3. Qt显示wmf格式图片

    Qt显示wmf格式图片         夸平台的Qt不并不支持Auto CAD的输出图wmf.那么怎么才能在Qt下显示wmf格式图片呢?智能用win32 api了.具体过程下面一一介绍.        ...

  4. OpenCasCade学习笔记(三):加载显示STEP格式图片,并实现平移、缩放和旋转操作

    OpenCasCade学习笔记(三):加载显示STEP格式图片,并实现平移.缩放和旋转操作 C3DWidget.h #pragma once#include <QtWidgets/QApplic ...

  5. 如何让你的 Android 显示gif格式的图片

    这里,首先要说明的是,希望那些已经实现了gif格式图片显示的朋友不要喷我,我知道你们是怎么做的,无非两种:一种是用原本就已经存在的gif解 码jar包,另外一种是使用google提供的开源的gif解码 ...

  6. 如何让你的Android显示gif格式的图片

    转载请注明出处: LouisWang http://blog.csdn.net/louiswangbing/article/details/6606933 相信这个标题本身已经够吸引人了. 这里,首先 ...

  7. Android将webp格式图片转换为png格式方法

    最近项目优化的时候发现app上选择的部分图片上传到服务器后无法显示或者直接上传失败,经过跟踪发现问题出现在webp图片格式上,说到webp格式的图片,这是google自己发明的一种图片格式,在网络上使 ...

  8. Android使用svg格式图片,并改变图片颜色

    1.在iconfont网站上下载svg格式图片,iconfont网站地址:iconfont-阿里巴巴矢量图标库,登录后下载 2.Android studio 在drawable文件夹右击,选择New- ...

  9. osd 显示 png格式图片水印

    最近做音视频项目需要做水印,且提供的水印为png格式图片,通过学习和尝试,终于解决.osd需要的是显示内容的数据,其核心就是将png图片解码成一系列数据. 解码库版本:libpng-1.6.35 1. ...

  10. Android与HEIF格式图片适配方法

    本文字数:1490字 预计阅读时间:8分钟 一. 什么是HEIF图片 HEIF (High Efficiency Image File Format)是由动态图像专家组(MPEG)在2013年推出的新 ...

最新文章

  1. 生产中NFS案例记录---写入权限解决过程
  2. Adobe Illustrator CS6 界面文字按钮太小,高分屏win10PS/AI等软件界面字太小解决方法
  3. 区分TTL、MSL、RTT
  4. go 指针变量和普通变量的转化_7.8 C++指针变量的引用
  5. AIProCon在线大会笔记之华为涂丹丹:华为云EI,行业智能化升级新引擎
  6. oracle触发器比较,Oracle使用触发器和mysql中使用触发器的比较
  7. 宁波镇海2021年高考成绩查询,最新!2021年,宁波镇海区的这14所中小学“爆了...
  8. C#Word转Html的类
  9. 784. Letter Case Permutation
  10. 眉骨高者为大贵之相_男人此处“高大”,大富大贵,前途不可限量!!
  11. 软件测试用例模板和例子_如何编写测试用例?
  12. Qt5设置应用程序图标报错Debug Error 1
  13. 如何批量生成ISBN条码
  14. android 重装系统,如何用手机给电脑重装系统
  15. 初探PHP开源采集器----蓝天采集器
  16. 互联网广告行业(01)------ 初识了解DSP、SSP、ADX
  17. 如何在library中使用productFlavors
  18. 计算机资源管理器功能,Windows资源管理器的作用 -电脑资料
  19. 【吐血整理】互联网大厂面试遇到的100道软件测试面试题+答案
  20. 联想t450怎么重置计算机,韩博士教你联想t450s如何一键安装win10

热门文章

  1. 《精通python设计模式》读书笔记之——行为型设计模式
  2. win10计算机禁用用户账户控制,win10用户账户控制怎么关闭_用户账户控制如何解除win10-win7之家...
  3. java 将月份、星期转换为英文
  4. Supervisor管理springboot应用
  5. 指定服务器不存在或访问被拒绝访问,SQL Server不存在或访问被拒绝怎么办
  6. G 音乐鉴赏(非二分解法)
  7. 张老师面试题讲解——交通信号灯
  8. VS2010 旗舰版序列号
  9. 20sccm_sccm是什么单位-简短介绍
  10. URL、域名、子域名、主机名