此文介绍两种简单的加载GIF图片的方法,一种是用Glide,另一种使用Fresco。

一、使用Glide加载

1.注入依赖

implementation 'com.github.bumptech.glide:glide:4.9.0'

annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'

2.创建一个ImageView

android:id="@+id/glide_git_iv"

android:layout_width="150dp"

android:layout_height="150dp" />

3.找到对应控件直接使用

ImageView glideGif = findViewById(R.id.glide_git_iv);

Glide.with(this).load(PIC_URL).into(glideGif);

二、使用Fresco加载

1.注入依赖

//加载fresco图片框架

api 'com.facebook.fresco:fresco:1.10.0'

api 'com.facebook.fresco:animated-gif:1.10.0'

2.创建一个SimpleDraweeView

android:id="@+id/fresco_git_sdv"

android:layout_width="150dp"

android:layout_height="150dp" />

3.初始化及使用

Fresco.initialize(this);//初始化在加载布局的上面

setContentView(R.layout.git_test);

SimpleDraweeView frescoGif = findViewById(R.id.fresco_git_sdv);

DraweeController draweeController = Fresco.newDraweeControllerBuilder()

.setAutoPlayAnimations(true)

//设置uri,加载本地的gif资源

.setUri(Uri.parse(PIC_URL))

.build();

//设置Controller

frescoGif.setController(draweeController);

好,这样GIF就可以愉快的动起来了~

gif android 点击 加载,Android两种简单的加载GIF图片的方法相关推荐

  1. popoupwindow 点击背景消失_两种去除背景音乐保留原声的高效方法

    方法一:Au软件提取人声法 一.Pr工序部分 ①打开pr,导入所需要的用到的视频素材. ②截取所需要用到的人声素材. ③导出素材,选择MP3格式,开始导入指定文件夹.这样相比于导出MP4格式的视频来说 ...

  2. 百度地图测加载的两种 方式 直接加载和异步加载

    1.直接加载 <html> <head><meta http-equiv="Content-Type" content="text/html ...

  3. Java两种简单的获取页面源码的方法

    2019独角兽企业重金招聘Python工程师标准>>> package demo11;import java.io.IOException; import java.net.Malf ...

  4. Android通过AsyncTask与ThreadPool(线程池)两种方式异步加载大量数据的分析与对比

    在加载大量数据的时候,经常会用到异步加载,所谓异步加载,就是把耗时的工作放到子线程里执行,当数据加载完毕的时候再到主线程进行UI刷新.在数据量非常大的情况下,我们通常会使用两种技术来进行异步加载,一是 ...

  5. Android 应用开发 之通过AsyncTask与ThreadPool(线程池)两种方式异步加载大量数据的分析与对比

    Android 应用开发 之通过AsyncTask与ThreadPool(线程池)两种方式异步加载大量数据的分析与对比 标签: AndroidAsyncTaskThreadPool异步加载view 2 ...

  6. Android Studio导入Eclipse项目的两种方法

    Android Studio导入Eclipse项目有两种方法,一种是直接把Eclipse项目导入Android Studio,另一种是在Eclipse项目里面进行转换,然后再导入Android Stu ...

  7. Cesium加载模型两种方式

    Cesium加载模型两种方式 代码如下 <!DOCTYPE html> <html><head><meta charset="UTF-8" ...

  8. android中的定时任务一般有两种机制,android 定时任务

    使用timertask进行定时任务 首先创建TimerTask: class SynchroTimerTask extends TimerTask { @Override public void ru ...

  9. Android一个ListView列表之中插入两种不同的数据

    http://www.cnblogs.com/roucheng/ Android一个ListView列表之中插入两种不同的数据 代码如下: public class ViewHolder{Button ...

  10. Android中用GridView实现九宫格的两种方法(转)

    Android中用GridView实现九宫格的两种方法 http://blog.csdn.net/shakespeare001/article/details/7768455 1.传统办法:实现一个继 ...

最新文章

  1. Spring+SpringMVC+MyBatis深入学习及搭建(一)——MyBatis的基础知识
  2. Head First JSP---随笔三
  3. [Github推荐]CVPR2019录用论文下载及可视化论文网站
  4. STM32-ADC数模转换
  5. 男人这辈子挺难的 ^^^
  6. 【kafka】 kafka 0.10报错IOException: Connection to 1 was disconnected before the response was read
  7. 机器学习常见的六大错误
  8. 强悍的 ubuntu —— ubuntu 与 windows 双系统的交互
  9. 洛谷 P1881 绳子对折
  10. 代码重构的方法和经验_实战篇:一个核心系统 3 万行代码的重构之旅
  11. IPC通信:互斥锁和条件变量
  12. IEEE Access的模板的问题
  13. weblogic 12c 安装与下载
  14. DHT 爬虫的学习记录
  15. 51单片机c语言延时一秒,单片机C语言的延时
  16. 推荐一款鼠标手势的软件,开源且免费
  17. CSDN 空间:“迷你博客”很迷人(2)
  18. java 黑盒测试_关于黑盒测试的总结
  19. 计数排序CountingSort
  20. 【内核调度、负载均衡】【find_busiest_queue】

热门文章

  1. linux机顶盒线刷工具,机顶盒刷机包通用版|PhoenixSuitpacket一键刷机工具 V1.10 官方最新版 下载_当下软件园_软件下载...
  2. matlab设置等高线标注字体大小,matlab设置图中字体和线条大小等(转)
  3. 计蒜客-英文金曲大赛
  4. java生成KML文件
  5. 迅雷 故意限速_故意记录的价值
  6. 融跃品牌月:央视出手,各大卫视联合融跃助力金融学子成梦
  7. 工业机器人(10)-Matlab Robot Toolbox机械臂工作空间
  8. win10下用VM 14安装OS X 10.11
  9. Geoserver 发布 shp文件
  10. Python UI自动化报错汇总2