Android一行代码实现网络加载GIF闪图(附源码)
来源:互联网 发布:网络协议基础知识 编辑:程序博客网 时间:2024/05/18 16:56
最近项目有个需求是要从网络加载GIF闪图,
但是Android原生的ImageView并不支持Gif。。。
于是从网上看了些Dome,
发现总是有些这样那样的问题,
譬如:
☹ 没有缓存,还要自己写一大堆缓存代码 ×
☹ 有些是自定义控件,是支持了闪图,但静态图却十分尴尬地显示不了了 ×
☹ 通过Movie类辅助,这样就会多出来好大一堆代码,最后显示出来的Gif不是太大,就是太小 ×
☹ ……就不一个一个列举了,心累。。。
功夫不负有心人,
终于赶在项目上线之前让我给找到了!
相比之下,
这个方案优点真的诱人:
☺ 自带缓存,简单方便快捷 √
☺ Android原生ImageView,自动分辨 Gif、jpg、png全兼容 √
☺ 图片不被拉伸,自动适应控件宽高大小 √
那么废话不多说,
咱这就开始吧。
第一步:
把我项目libs下的glide-3.7.0.jar导入到你的项目里。
第二步:
写XML,
很简单,
就一个ImageView
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/img" android:layout_width="300dp" android:layout_height="200dp" android:layout_centerInParent="true"/></RelativeLayout>
第三步:
Java代码,
同样很简单,
实例化
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 图片链接 String imgUrl = "http://ww1.sinaimg.cn/mw690/805fa900jw1f5q2lmksttg20c8058qv5.gif"; // 图片控件 ImageView img = (ImageView) findViewById(R.id.img); }}
第四步:
最关键的一步,
如果你看过其他的解决方案,
再来看这个方案的话,
估计你会感动哭的。
因为,
只!有!一!句!话!!!
真!的!只!!有!!一!!句!!话!!!
// 加载图片Glide.with(this).load(imgUrl).centerCrop().placeholder(R.drawable.load_ing).crossFade().into(img);
不难理解,
第一个参数【this】就是指Activity自身咯;
第二个参数【imgUrl】就是图片的链接,不管是不是gif;
第三个参数【R.drawable.load_ing】是图片加载出来之前的默认图;
第四个参数【img】当然就是要显示图片的ImageView咯。
哦对了,
AndroidManifest里千万别忘了给权限,
否则图片出不来别怪我。
<!-- 网络权限 --><uses-permission android:name="android.permission.INTERNET"></uses-permission><!--往sdcard中写入数据的权限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission><!--在sdcard中创建/删除文件的权限 --><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
好了,
就到这里吧,
尘少的老规矩,
附源码: http://download.csdn.net/download/qq_24515359/9575320
如果觉得尘少的Demo还不错的话,
可以克隆我的Git仓库,
各种酷炫效果收入囊中:
https://github.com/Bamboy120315/bamboy.git
手机扫码下载App一睹为快:
- Android一行代码实现网络加载GIF闪图(附源码)
- [Android]一行代码加载GIF图
- Android加载Gif动画实现代码
- android 一行代码,快速实现图片验证码(附android studio 版小demo)
- android-加载网络Gif和本地Gif
- android 无任何依赖实现网络加载显示Gif动画
- Android网络加载图片只需一行代码!!!!
- Android自定义控件-一行代码实现加载对话框
- android Listview分批加载+自动加载(附源码下载)
- android网络编程 -- Socket 通信(03) 点对点Android聊天室实现(带服务器) [附源码分析]
- Android加载网络GIF完整解决方案
- Android加载网络GIF完整解决方案
- 软件网络认证的实现(附源码)
- React Native调用Android原生代码实现车牌识别功能【附效果图附源码】
- ListView简单实现分页加载(附源码)
- ListView简单实现分页加载(附源码)
- android加载gif动画 用动画实现
- Android 自定义SurfaceView实现加载GIF动画
- oracle客户端精简绿色版-环境变量配置
- MPU6050数据读取
- 【VS】VS2015添加自定义模版
- 简单使用 AsyncTask
- 使用循环和递归方法实现二分法搜索
- Android一行代码实现网络加载GIF闪图(附源码)
- css3变形中几个重要点
- JAVA-实用类
- HTML5+、mui开发移动app
- php常用加密技术(包括密码加密及URL加密)
- log4j.properties配置详解
- Git 常用操作
- NYOJ-开灯问题
- OpenSSLRSA.h