Android 加载GIF图最佳实践方案

1分钟就能学会Android如何展示Gif动态图 在如今聊天必有图的情况下,有没有想过我如何在我软件中加上一个动态图呢?其实只需要10s,你就能学会! 阅读详情

引用:

compile 'pl.droidsonroids.gif:android-gif-drawable:1.2.7'

直接把布局文件中的 ImageView 替换为 GifImageView

<pl.droidsonroids.gif.GifImageView
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:src="@mipmap/yiba_location "
  />

然后

GifImageView gifImageView = (GifImageView) findViewById(R.id.gifImageView);
GifDrawable gifDrawable = (GifDrawable) gifImageView.getDrawable();

然后调用 根据自己的需要调用已下方法即可,效果还不错,很流畅

gifDrawable.start(); //开始播放
gifDrawable.stop(); //停止播放
gifDrawable.reset(); //复位,重新开始播放
gifDrawable.isRunning(); //是否正在播放
gifDrawable.setLoopCount( 2 ); //设置播放的次数,播放完了就自动停止
gifDrawable.getCurrentLoop(); //获取正在播放的次数
gifDrawable.getCurrentPosition ; //获取现在到从开始播放所经历的时间
gifDrawable.getDuration() ; //获取播放一次所需要的时间

总结:尝试用Glide 实现,但是效果不是不好,卡顿,然后发现依赖这个jar后,效果不错,且jar也不是很大,也就75k

android显示gif图 最近项目中有个需求,在android上展示gif图片,android自身是没有展示gif图的控件的 阅读详情

相关推荐

Android开发——优化Glide加载超大gif图

/必须要开启anim!//根据文件头判断是否是gif//DES:此日志主要关注gif图并且设置了不允许动画的地方/*解析方法//进行采样设置//创建解析器构建模式//DES:不含透明层可以加速渲染但是透明的gif会渲染黑色背景//循环一次的则矫正为无限循环null序列化类:>{try{//DES:将resource编码成文件。

2501_90324688的博客 1018

android 加载gif动态视图

android中一般使用静态图片很多,很少会显示动态gif图片。现介绍两种在android中显示动态视图的方法,使用的平台是android studio;(一)使用第三方开源框架,直接在布局文件中加载gif:    1.在工程的build.gradle中添加代码buildscript { repositories { mavenCentral() ...

zenmela2011的专栏 1966

Andorid 加载本地gif

1.导包: //加载gif图片框架 implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.7' 2.布局文件 <pl.droidsonroids.gif.GifImageView android:id="@+id/gif_second" android:layout_width="200dp" android:layout_height="200dp" and

码点 851

Android 使用pl.droidsonroids.gif.GifImageView在安卓中显示动图遇到的问题

在做一款聊天软件,其中聊天界面需要发送表情,而表情都是动图,在安卓中想要显示动图,就要借助第三方框架,我选的是pl.droidsonroids.gif.GifImageView。 使用方法如下:你在github上下载了android-gif-drawable.aar后,解压后,将jni文件下的所有文件夹以及classes.jar拷贝到你安卓项目的libs文件下,然后将你项目代码中的imageview换成第三方的,效果如下: java类中代码: GifImageView gifImageVie.

七天不过夜的专栏 1846

Android平台上的GIF加载与播放解决方案

本文还有配套的精品资源,点击获取 简介:在Android开发中,由于系统对GIF格式的支持有限,开发者往往需要依赖第三方库来处理动态图像。本文将详细探讨如何使用流行的 Android Gif-Drawable 库以及其他支持GIF的图片加载库如Glide和Picasso,以优化GIF的加载和显示效果。读者将了解如何将这些库集成到Android应用中,并通过实例...

weixin_31800911的博客 1919

android gif图片播放、暂停

通过使用jar包pl.droidsonroids.gif:android-gif-drawable:1.2.8控制gif图片播放,点击图片可以让图片暂停,再次点击时继续播放。

突破Android图像加载瓶颈:Coil与Jetpack Compose的无缝集成方案

你是否还在为Android应用中的图像加载性能问题烦恼?是否曾因SVG格式显示异常而头疼?本文将带你深入了解Now in Android项目如何通过Coil库与Jetpack Compose实现高效、流畅的图像加载体验,从依赖配置到高级用法,一站式解决你的图像加载难题。读完本文,你将掌握在Compose中优雅处理网络图片、SVG格式和缓存策略的完整方案。 ## 为什么选择Coil? 在Andr...

gitblog_00413的博客 1075

android-gif-drawable:用于在Android上显示动画GIF的视图和Drawable

Android中动画GIF的View和Drawable 。 总览 通过JNI捆绑的GIFLib用于渲染帧。 这种方法应该比WebView或Movie类更有效。 建立 Gradle(Android Studio) 将以下依赖项插入到项目的build.gradle文件中。 dependencies { implementation ' pl.droidsonroids.gif:android-gif-drawable:1.2.19 ' } 请注意,应定义Maven中央存储库,例如。 在顶级build.gradle如下所示: buildscript { repositories { mavenCentral() } } allprojects { repositories { mavenCentral() } } Gradle,快照存储库 当前的开发版本(从dev分支构建)已发布到OSS快照存储库。 要使用它们,请在repositories块中指定存储库URL: repositories { maven

Glide WebP动图优化技术:Android应用性能提升方案

Glide作为Android平台领先的图片加载库,通过WebP动图支持技术为移动应用提供了显著的性能优化方案。在移动网络环境下,图片加载速度直接影响用户体验和应用的留存率,而WebP格式相比传统GIF能够减少60%以上的文件体积,同时保持相同的视觉质量。本文将从实际问题出发,深入分析Glide的WebP动图支持机制,并提供完整的实施路线图。 ## 问题诊断:传统动图加载的性能瓶颈 在移动应用开

gitblog_00904的博客 399

Python | KS检验以及其余非参数检验的实现

Python | KS检验以及其余非参数检验的实现1 什么是KS检验2 KS检验分类?3 KS检验的Python实现3.1 检验指定的数列是否服从正态分布3.2 检验指定的两个数列是否服从相同分布4 其余的非参数检验4.1 Wilcoxon符号秩检验(t检验的非参数版本)4.2 Kruskal-Wallis H检验(方差分析的非参数版本)4.3 Mann-Whitney秩检验5 参考 1 什么是KS检验 定义:检验一个分布f(x)与理论分布g(x)【比如正态分布】是否一致,或两个观测值分布是否有显著差异的检

RUC_Lee的博客 1万+

深入了解 Google Gemini:主要功能是什么以及我们为什么要使用它?

Google Gemini开启AI新纪元,以其独特的多模式功能重塑技术未来。

KompasAI的博客 4065

Android原生gif动图加载AnimatedImageDrawable

Android加载Gif和ImageView的通用解决方案:android-gif-drawable(1)Android自己的ImageView或者View不能直接加载运行Gif图片,如果要在一个Android的ImageView中加载一个gif图片资源,则需要通过其他途径实现,我之前写了一些关于如何在Android中加载gif图片的文章:文章1,《基于开源框架Glide加载Gif_activity添加gif。

Zhang Phil 1408

实战指南(一)SCAPS-1D太阳能电池模拟软件从零到一:模型构建与参数解析

本文详细介绍了SCAPS-1D太阳能电池模拟软件的使用方法,从模型构建到参数解析,帮助用户快速掌握这一免费且功能强大的工具。特别适合用于单结/多结电池的电学性能分析,涵盖钙钛矿电池等常见结构的模拟实践,并提供参数调试和收敛性问题处理的实用技巧。

weixin_30588675的博客 445

Android 加载gif图,Glide

在上面的代码中,我们首先使用 `Movie.decodeStream()` 方法加载 GIF 图片,然后设置 ImageView 的宽高为 GIF 图片的宽高。最后,在 `onDraw()` 方法中,我们使用 `Movie.draw()` 方法将 GIF 图片绘制到 Canvas 上。其中,placeholder 和 error 是占位图和错误图,override 是设置图片的大小,centerCrop 是设置图片的缩放类型。其中,R.drawable.gif_image 是 gif 图片的资源 id。

YDHIT的博客 3835

QT日志输出终极指南:从qDebug到qFatal的完整文件记录方案

本文深入探讨了QT日志系统的企业级文件记录方案,从基础的qDebug、qWarning、qCritical、qFatal等宏的使用,到构建自定义消息处理器、实现异步写入、分级存储、日志轮转及性能监控等高级功能。旨在帮助开发者构建一个稳定、高效且易于维护的专业级日志管理架构,适用于桌面应用、嵌入式系统及服务端程序。

ik678901234的博客 909

PySpark机器学习生产化陷阱:跨节点依赖问题的7种解决方案

隐式依赖陷阱使用ldd解决方案:在基础镜像中预装和路径冲突终极解法依赖树瘦身技巧用conda-tree可减少40%环境体积PySpark机器学习生产化的核心矛盾在于分布式环境的确定性与灵活性不可兼得。轻量级方案(1-3)牺牲一致性换取灵活性重量级方案(4-6)牺牲灵活性换取确定性混合方案(7)针对特殊场景补充正如某AI平台架构师所言:“环境一致性不是技术问题,而是工程纪律问题选择适合团队当前阶段的方案,建立严格的依赖管理流程,才能让PySpark真正扛起生产环境的大旗。

datacanvas2426的博客 909

原来Glide是这样加载GIF图的

一名优秀的Android开发,需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~。 /   开胃菜   / 在讲之前,我们先补充一点基础知识,安卓 ImageView 支不支持加载 Gif 动图呢?其实是不支持的,因为 ImageView 本身就是一个 View,View 的绘制需要用 Canvas,而 Canvas 只支持 canvas.drawBitmap,也就是同一时间只能绘制一张位图,而 Gif 是由多帧图片组成,那么 Glide 是

Android 开发架构 3374

超速U盘选购避坑指南:如何通过Rx Detect机制识别真伪USB3.0设备

本文深入解析了USB 3.0超速U盘的选购避坑要点,重点介绍了通过Rx Detect机制识别真伪设备的核心原理。文章提供了从软件检测到实际性能测试的完整方案,帮助消费者和技术人员有效辨别虚假的USB3.0设备,确保获得真正的超速传输体验。

weixin_29189373的博客 443

Android weex加载gif动图

weex加载gif动图,在android上面是不会显示出来的,只能显示出来空白页面,官方文档也给说了解决方法,一种就是利用加载图片的适配器,在适配器里面自己做判断,一种就是你自定义一个Component来实现这个加载!!! 这个Component可以在weex的官网上面有个android的weex扩展,这个里面就有详细的介绍! 这里需要注意的是ios可以直接加载!!! 好了,废话不多说源...

nyb521的博客 2832

Coze智能体开发:工作流教程之解析文件概述

大模型本身并不具备文件读取和解析的能力,无法直接处理文件字节流。对于支持工具调用(Function calling)的模型,扣子提供插件功能来帮助大模型调用外部工具 API,拓展大模型的能力边界。扣子插件商店提供海量官方插件和第三方插件,例如链接读取插件可以将链接对应的文件内容解析为纯文本传递给大模型。

王国平的博客 1793

SAP-MM-供应商对账平台(功能集合)

(1)集成OA审批,线上核销,结果写入SAP; (2)集成SRM,线上与供应商对账确认,写入SAP; (3)集成财务付款结果确认写入,OA回传结果,定时同步SRM供应商平台。 欢迎留言交流,功能完善,如需要页面设计,请订阅专栏

qq_32198063的博客 748

Android 上展示 GIF 动图的方法

使用ImageView加载 WebP 格式优点:简单直接,节省存储空间。缺点:需要将 GIF 转换为 WebP,且 WebP 支持有限。使用Glide优点:强大的图片加载和缓存功能,支持复杂的图像处理。缺点:库较大,增加 APK 大小。使用Fresco优点:支持多种图片格式,高效的内存和磁盘缓存管理。缺点:库较大,学习曲线较陡。使用优点:专用于 GIF,功能丰富,内存使用优化较好。缺点:仅限于 GIF,不支持其他格式。使用Movie类优点:不需要额外的第三方库,轻量级。缺点。

iblade的博客 6039

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Android GifImageView加载Gif图片及原理

背景 前几天看到个有趣的动图,本来下载下来想发给朋友看看的,但是用微信发送时候提示文件过大,一看竟然41M,于是就在想这么大的gif怎么加载的。所以就搞了个demo去试试。 Glide 众所周知Glide支持加载gif图片,所以一开始先使用Glide。将动图放到raw中,然后用Glide加载。 Glide.with(this).load(R.raw.aa).into(gifImageView); 然后等了半天一点反应也没有,就看见log一直在打印: Background young concurrent

Fury的博客 5663

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: Android 使用pl.droidsonroids.gif.GifImageView在安卓中显示动图遇到的问题
下一篇: Android 修改系统亮度与设置系统音量
秋天不落叶-
博客等级 码龄13年 65粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值