gif android 点击 加载,android 加载显示gif图片的解决方案
使用方法:
1-把GifView.jar加入你的项目。
2-在xml中配置GifView的基本属性,GifView继承自View类,和Button、ImageView一样是一个UI控件。如:
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingTop="4px"
android:paddingLeft="14px" android:enabled="false"
/>
3-在代码中配置常用属性:
// 从xml中得到GifView的句柄
gf1 = (GifView)
findViewById(R.id.gif1);
// 设置Gif图片源
gf1.setGifImage(R.drawable.gif1);
// 添加监听器
gf1.setOnClickListener(this);
// 设置显示的大小,拉伸或者压缩
gf1.setShowDimension(300,
300);
//
设置加载方式:先加载后显示、边加载边显示、只显示第一帧再显示
gf1.setGifImageType(GifImageType.COVER);
GifView的Jar包共有四个类:
GifAction.java 观察者类,监视GIF是否加载成功
GifFrame.java 里面三个成员:当前图片、延时、下张Frame的链接。
GifDecoder.java 解码线程类
GifView.java 主类,包括常用方法,如GifView构造方法、设置图片源、延迟、绘制等。
这种实现方案比较好,可以直接加载网络上流的形式的图片也可以加载res下drawable中的图片还可以加载一个一个图片的byte数组。用法也比较简单,缺点就是当一个gif图片比较大时,可能会出现OOM。由于这种方案的解决思路是开启线程先解析一张gif图片,解析成一帧一帧的图片,然后再开启另外一个线程一帧一帧的显示。所以当一个gif图片过大的时候,解析成的一系列的图片就会很多很大。容易出现OOM的情况。所以我们在播放很大很长的gif图片的时候,就需要先设置一下图片的属性,降低图片的容量,尽量避免出现OOM的情况。
当然以上的两种方案是比较常用的方案,除此之外也还有其他的解决方案,比如利用webview加载gif图片、利用mediaplayer播放动态图片等等,这些方案一般比较复杂,而且本人我也没有用过,所以这里就不再叙述。
这只是我个人的一点小见解,如果有什么错误,希望大家不吝赐教。
gif android 点击 加载,android 加载显示gif图片的解决方案相关推荐
- Android WebView 视频播放,全屏按钮不显示或灰显解决方案
Android WebView 视频播放,全屏按钮不显示或灰显解决方案 背景 问题定位 背景 在Android开发中,遇到了如下问题:Activity内嵌WebView,加载有视频的页面时,视频无法全 ...
- Android点击无响应,Android Studio无响应打不开的解决办法
最近谷歌发布了Android Studio,下载安装之后,在使用时发现一个问题,那就是发布无响应且无法启动,也就是点击Android图标的时候没有任务反应,我想说的是你需要重新配置一下环境~ 因为这个 ...
- android 关于listview scrollview 底部 控件无法显示的两个解决方案
方案一 用LinearLayout实现,代码如下: <!-- 中奖纪录 by mhd --><LinearLayout xmlns:android="http://sche ...
- android 点击图标重启,Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题的解决方法...
Android应用第一次安装成功点击"打开"后Home键切出应用后再点击桌面图标返回导致应用重启问题的解决方法 if((getIntent().getFlags() & I ...
- android点击选择相册,android: 从相册中选择照片
虽然调用摄像头拍照既方便又快捷,但并不是每一次我们都需要去当场拍一张照片的. 因为每个人的手机相册里应该都会存有许许多多张照片,直接从相册里选取一张现有的照 片会比打开相机拍一张照片更加常用.一个优秀 ...
- android 点击返回顶部,Android scrollToTop实现点击回到顶部(兼容PullTorefreshScrollview)...
前言 最近因为项目组需求,特研究了一下"回到顶部"效果,即:页面里有scrollview,内容很多,当滑动到页面下面或者更深时,需要回到顶部,即可点击出现的按钮,省得回滑N久.我没 ...
- android 点击跳过,android开发里跳过的坑——button不响应点击事件
昨天遇到一个头疼的问题,在手机上按钮事件都很正常,但是在平板上(横屏显示的状态),button点击事件不响应,代码简化如下: public class Test extends Activity im ...
- android点击按钮静音,android 实现一键静音功能
最近在android5.1上面做一个功能,类似苹果的一键静音功能.山寨大国,一直模仿,但从未超越,别人做什么,砸门跟着做.下面就来看看android究竟怎么实现这个功能呢? 刚开始我也不知到怎么做,怎 ...
- android 点击事件消费,Android View事件分发和消费源码简单理解
Android View事件分发和消费源码简单理解 前言: 开发过程中觉得View事件这块是特别烧脑的,看了好久,才自认为看明白.中间上网查了下singwhatiwanna粉丝的读书笔记,有种茅塞顿开 ...
最新文章
- Jmeter学习(三)
- UNITY 多SCENE加载与编辑
- visual studio2008 OpenGL开发配置
- c++组合 聚合 关联
- react-redux笔记
- 新能源补贴退坡 广汽新能源、比亚迪不涨价 蔚来最狠!
- java 字符串 ansi转utf8_在Java中将ANSI字符转换为UTF-8
- python中各种@property、@xxx.setter、@classmethod、@staticmethod 都是些啥啊?
- 【编译原理笔记05】语法分析:FIRST集和FOLLOW集的计算,[非]递归的预测分析法,预测分析中的错误处理
- RHEL 5基础篇—管理系统计划任务
- php电脑维修店网站源码,某电脑维修网站整站打包 v1.1
- 第2章-计算机组成原理之概述篇
- Java Apache POI 小记(读取Word通过模板创建PPT)
- java 抓smail_java如何定位代码到smail里,如图0.0
- mysql的month_MySQL MONTH()用法及代码示例
- java计算机毕业设计楼宇管理系统源码+数据库+lw文档+系统
- javaserver_JavaServer页面简介
- 宣传文本html,优秀的宣传语(精选50句)
- AMR-WB 比特流---单通道多帧,120ms RTP打包
- js复制方法navigator.clipboard兼容性处理,控制台直接执行报错 DOMException: Document is not focused
热门文章
- .NET Core应用类型(Portable apps amp; Self-contained apps)
- ubuntu 以太网已连接但是无法联网_工业以太网有多“牛X”?两个案例告诉你
- 【ArcGIS风暴】GlobeLand30全球数据处理教程(批量投影转换、无效值处理、拼接)
- GPS基站架设完整操作流程
- Android之error: void value not ignored as it ought to be(In function ‘callMethod2‘)解决办法
- shell--指“提供使用者使用界面”的软件(命令解析器)
- Android之adb shell dumpsys activity获取task里面的所有actitiy
- 栈和队列之生成窗口最大值数组
- [python opencv 计算机视觉零基础到实战] 十三 直方图颜色提鲜
- python截图拼接_Python实现屏幕截图有两种方式 - 小众知识