Gif图片

大家都知道,Android开发模拟器为了节省内存,一般不支持直接显示gif图片,即使你强制设置了,也只会显示图片的第一帧。看到网上也有许多的方法,来实现此功能,可都比较的繁琐,需要修改android源代码来实现或者用gif解析器来实现。在此文章中,这里教大家一种比较简洁的一个方法,你可以把这个类当做是一种工具类。用的时候,直接搬到程序里面,更改下图片的资源,就可以非常轻松的显示gif图片了。

 

 

步骤1:看一下这个工具类的实例代码:MyGifView.java

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{

private long movieStart;

private Movie movie;

    //此处必须重写该构造方法

public MyGifView(Context context,AttributeSet attributeSet) {

super(context,attributeSet);

//以文件流(InputStream)读取进gif图片资源

movie=Movie.decodeStream(getResources().openRawResource(R.drawable.keyboard));

}

 

@Override

protected void onDraw(Canvas canvas) {

long curTime=android.os.SystemClock.uptimeMillis();

//第一次播放

if (movieStart == 0) {

movieStart = curTime;

}

if (movie != null) {

int duraction = movie.duration();

int relTime = (int) ((curTime-movieStart)%duraction);

movie.setTime(relTime);

movie.draw(canvas, 0, 0);

//强制重绘

invalidate();

}

super.onDraw(canvas);

}

}

此工具类中,只做了2件事情。1,构造方法;2,重写了onDraw()方法。大家以后用的话,只需拷贝此类到你的工程下即可起作用。

 

步骤2:布局文件代码 activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent" >

 

    <TextView 

       android:text="====Gif图片测试布局===="

        android:layout_height="wrap_content"

       android:layout_width="wrap_content"

       />

    

     <com.example.showgifimage.MyGifView 

       android:id="@+id/iv"

       android:layout_height="wrap_content"

       android:layout_width="wrap_content"

       android:layout_margin="20dp"

       /> 

   

</LinearLayout>

布局文件中,注意的是:标签的设置 <com.example.showgifimage.MyGifView/>.

格式:包名+.类名

 

 

步骤3:主activity中调用

public class MainActivity extends Activity {

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    }

}

    就这么轻松的把Gif图片显示了~~

Android中轻松显示Gif图片
 
 
 
不知道能不能用,没试过,勿喷...............
JAVA生成GIF图片  前面写了利用java合并图片的文章,一位朋友说应该把gif图片不失真的合并起来,自己想想也是,可是自己技术还没过关,所以没有找到解决方法,于是上网GOOGLE一番,以外发现了一套java生成gif图片的方法,现在贴上来,跟大家共同学习。  先看一下效果图:    主方法:import com.sun.image.codec.jpeg.*;import co 阅读详情

相关推荐

加载中动态图片gif图片加载中动态图片gif图片加载中动态图片gif图片加载中动态图片gif图片加载中动态图片gif图片

加载中动态图片gif图片加载中动态图片gif图片加载中动态图片gif图片加载中动态图片gif图片加载中动态图片gif图片加载中动态图片gif图片加载中动态图片gif图片加载中动态图片gif图片

教你轻松显示Gif图片

大家都知道,Android开发模拟器为了节省内存,一般不支持直接显示gif图片,即使你强制设置了,也只会显示图片的第一帧。看到网上也有许多的方法,来实现此功能,可都比较的繁琐,需要修改android源代码来实现或者用gif解析器来实现。在此文章中,这里教大家一种比较简洁的一个方法,你可以把这个类当做是一种工具类。用的时候,直接搬到程序里面,更改下图片的资源,就可以非常轻松的显示gif图片了。

1289

loading加载gif动画

loading加载gif动画,制作loading加载框,上百款loading动态图

js分解GIF图片以及合成GIF图片

无意中看到一篇文章写得是关于纯前端处理GIF图片的问题;感觉挺有意思的所以自己也实现了一下; 主要用到的有两个第三方库:合成GIF图片的gif.js和分解的libgif.js; 分解GIF 1. 引入Git库 import SuperGif from './libgif.js' 2. 处理图片 var file = e.target.files[0]; console.l...

jiajunmiku的博客 3112

164个加载中gif图片loading动态图片

164个加载中gif图片loading动态图片,全是透明背景图。

loading_正在加载_图片_gif_格式

loading_正在加载_图片_gif_格式,可用于程序界面或是网页界面中正在加载功能示意

php生成gif动态图片_PHP绘制GIF动态图片

前些天记录了一篇《PHP生成汉字转Emoji的对照图片》,在此之前都是用PHP的GD扩展实现绘图,还只能做静态的图片出来,这些天在家闭关养伤,花了很多时间来进行“國語辭典系列網站全面升級”,这期间也摸索出来PHP利用Imagick扩展来绘制GIF格式动态图片的办法,现在记录如下。Imagick 是用 ImageMagic API 来创建和修改图像的PHP官方扩展,详细介绍请看《Imagick官方文...

weixin_39792747的博客 1098

166个等待图片-loading-gif图片

166个等待图片-loading-gif图片,供大家下载学习使用

html5多图合成gif,gif动态图片制作 多张图片合成gif动态图片

单一的静态图片太枯燥,GIF动态图片看起来才有意思有木有!网上各种经典爆笑GIF图片或者闪图,大多数的友友们只会看→复制→外发,难道就没有朋友想要自己制作GIF动态图片吗?如何制作gif动态图片?狸窝家园教你!gif动态图片,有两个风格,一种是视频制作gif动画图片,一种是多种图片合成gif动态图片。前一种已经教过大家了。今天我们来学第二种:把多张图片合成gif动态图片。跟着小编的步骤一起制作:g...

weixin_36372014的博客 1377

网页常用loading 加载gif图片素材

网页常用loading 加载gif图片素材

正在加载的动态gif图标

正在加载”的动态gif图标,非常好看的特效,只能用炫酷来形容,感兴趣就下载看看吧,用在自己的网站觉得吸引眼球!

手机怎么弄gif图片,手机gif图片怎么制作

有多图合成gif、视频转gif、gif编辑、gif压缩、gif拼图,gif抠图等等,功能十分的丰富。做动图这一款软件就够了。

baidu_40742205的博客 500

loading等待载入动态图

loading等待载入正在加载的动画GIF图片圆形图标

GIF图片裁剪出指定大小的GIF图片

前言 最近在博客后台上传图片的时候,突然发现上传gif图片的时候裁剪图片有问题。既没法裁剪gif指定区域的图片,又没法裁剪指定区域生成一个新的指定大小的gif图。本来想直接去找个裁剪的库直接放上去的,但是找了半天也没找到能够裁剪gif然后生成裁剪区域的gif的库,于是就自己动手了。 探索 如果只是单纯的在Gif上裁剪第一帧图片,倒是有插件能实现,我用的就是react-cropper来进行图片裁剪的。但是这个插件没法裁剪GIF生成另一个GIF图。 我要的效果是下面这样的效果 原图 裁剪后的gif图

m0_37838015的博客 478

loading.gif

前端gif加载动画,大部分透明背景

【电击防护篇】电击防护技术详解:从人体效应到接地系统全解析

本文系统讲解了电击防护的关键知识,包括电流对人体的影响(如30mA是心室颤动阈值)、人体电阻特性(700Ω-6100Ω)以及电气接触防护措施。重点分析了TT、TN和IT三大接地系统的结构特点与应用场景,强调TN-S系统最安全,IT系统供电连续性最佳。详细介绍了漏电保护器(RCD)的工作原理与选型指南,建议人身防护选用30mA高灵敏度RCD。文章通过对比表总结三大系统的安全性、成本及适用场景,为电气安全设计提供实用参考。

2301_81299416的博客 1742

Python读取和保存GIF图片

PIL(Python Imaging Library)是Python中一个强大的图像处理库,但只支持到Python2.7 Pillow是PIL的一个分支,本文使用Pillow读取和保存gif图片,如果还没安装,可使用下面的命令安装 pip install Pillow 1、读取gif图片 # -*- coding: utf-8 -*- from PIL import Image fro...

少得多惑的博客 1万+

遥感新手别纠结!实测ENVI 5.3、5.6、6.0三个免费版,教你混搭安装避坑

本文为遥感新手提供ENVI 5.3、5.6、6.0三个免费版的实测对比与混搭安装指南,帮助用户构建零成本高效工作流。详细解析各版本功能差异、共存安装技巧及常见问题解决方案,特别适合课程作业、毕业论文分析和遥感入门练习。

weixin_30819085的博客 472

matlab jpg合成gif,用MATLAB将照片合成视频或者GIF图片、以及Photoshop制作GIF图片

用MATLAB将照片合成视频或者GIF图片、以及Photoshop制作GIF图片一、用MATLAB将照片合成视频(我使用的MATLAB是2015版本的)(1)、你需要需要合成视频的图片。所有照片放在一个文件夹里面因为是使用Matlab的dir函数读取照片,所以读取时,你要先设置好文件名:图片名称按照“001、002、003...”排列。否则图片显示顺序就会出错。如果图片是用matlab在循环里使用...

weixin_39524984的博客 1371

基于深度学习的UWB门禁检测

针对基于UWB技术智能门禁管理系统,由于测距误差或非视距原因导致门禁产生不合理动作的现象。分析如何采用基于深度学习的方法,通过对TWR测距数据、TWR监听数据、到达角度差(PDOA)、信道脉冲响应(CIR)等数据维度进行深度学习,利用 TensorFlow建立相应的推导模型,对卡片姿态进行更加精准可靠的检测,从而更好完成闸机开合控制。

tenth_quadrant的博客 2026

webpack性能优化-optimization.splitChunks.chunks中的“all“、“async“和“initial“

最初,chunks(以及内部导入的模块)是通过内部 webpack 图谱中的父子关系关联的。CommonsChunkPlugin 曾被用来避免他们之间的重复依赖,但是不可能再做进一步的优化。 ——摘自 webpack 从 webpack v4 开始,移除了 CommonsChunkPlugin,取而代之的是 optimization.splitChunks。 而关于 optimization.splitChunks 中的chunks,webpack 官方文档却没有很好的进行举例解释,只说明了 async.

程序员秋风的博客 3135

实现GIF图片的缩放

在图片选择器中提到gif文件是使用了普通的ImageView来实现的,如果需要实现gif图片的缩放那么就需要自定义SSIV。 首先需要GIF解码器,可以选择使用glide的gif decoder,也可以使用原版的https://gist.github.com/devunwired/4479231。 改造SSIV主要修改的地方是setImage方法,最后是使用了BitmapLoadTask加载图...

chends 1484

即插即用篇 | 手把手教你 YOLOv11 添加注意力机制 | 适用于【检测任务】【分类任务】【分割任务】【关键点任务】| 20+ 种全打通!

即插即用篇 | 手把手教你 YOLOv11 添加注意力机制 | 适用于【检测任务】【分类任务】【分割任务】【关键点任务】| 20+ 种全打通!

Coding... 2830
上一篇: 最火的Android开源项目(一)
下一篇: Android系统的一些机制说明
biandroid
博客等级 码龄15年 3粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值