文档章节

图片加载框架Glide

佛系programer
 佛系programer
发布于 2016/11/11 17:56
字数 630
阅读 82
收藏 1
点赞 0
评论 0

本人之前就是网络加载图片各种费劲,而且还有另开线程,非常麻烦,代码量多且复杂,后来接触到图片加载框架Glide,发现太好用了,支持各种格式还有GIF,支持本地和网络等加载,只要几行代码,完美解决,而且性能很好,还有它的扩展框架glide-transformations可以做各种效果。这里分享给大家,需要的可以看一下。

图片加载框架Glide与glide-transformations(可以实现模糊以及圆角各种效果,为Glide的扩展框架)

glide-transformations的git地址:https://github.com/wasabeef/glide-transformations

Glide的git的项目地址:https://github.com/bumptech/glide/

Glide的jar的下载地址:https://github.com/bumptech/glide/releases

dependencies {
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile files('libs/glide-3.7.0-javadoc.jar')
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'jp.wasabeef:glide-transformations:2.0.1'
}

如上设置既可使用连个库,compile files('libs/glide-3.7.0-javadoc.jar')为本地的Glide的jar包,需要下载。也可以使用:

compile 'com.github.bumptech.glide:glide:3.7.0'

使用示例:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        String url = "http://easyread.ph.126.net/ZDOGCSZEMvM9jDyF41wifg==/7917045570430793200.jpg";
        ImageView view = (ImageView) findViewById(R.id.iv);
        Glide.with(getApplicationContext()) // 指定Context
                .load("http://i1.wp.com/www.mydesy.com/wp-content/uploads/2013/02/20130211a3.gif?resize=750%2C400")// 指定图片的URL
                .placeholder(R.mipmap.ic_launcher)// 指定图片未成功加载前显示的图片
                .error(R.mipmap.ic_launcher)// 指定图片加载失败显示的图片
                .override(300, 300)//指定图片的尺寸
                .fitCenter()//指定图片缩放类型为fitCenter
                .centerCrop()// 指定图片缩放类型为centerCrop
                .skipMemoryCache(true)// 跳过内存缓存
                .diskCacheStrategy(DiskCacheStrategy.NONE)//跳过磁盘缓存
                .diskCacheStrategy(DiskCacheStrategy.SOURCE)//仅仅只缓存原来的全分辨率的图像
                .diskCacheStrategy(DiskCacheStrategy.RESULT)//仅仅缓存最终的图像
                .diskCacheStrategy(DiskCacheStrategy.ALL)//缓存所有版本的图像
                .priority(Priority.HIGH)//指定优先级.Glide 将会用他们作为一个准则,并尽可能的处理这些请求,但是它不能保证所有的图片都会按照所要求的顺序加载。优先级排序:IMMEDIATE > HIGH > NORMAL > LOW
                .into(view);//指定显示图片的ImageView


        ImageView image2 = (ImageView) findViewById(R.id.iv2);
        Glide.with(this).load(url).bitmapTransform(new CropCircleTransformation(this)).crossFade(1000).into(image2);

        //原图的毛玻璃、高斯模糊效果
        ImageView image3 = (ImageView) findViewById(R.id.iv3);
        Glide.with(this).load(url).bitmapTransform(new BlurTransformation(this, 25)).crossFade(1000).into(image3);

        //原图基础上复合变换成圆图 +毛玻璃(高斯模糊)
        ImageView image4 = (ImageView) findViewById(R.id.iv4);
        Glide.with(this).load(url).bitmapTransform(new BlurTransformation(this, 25), new CropCircleTransformation(this)).crossFade(1000).into(image4);

        //原图处理成圆角,如果是四周都是圆角则是RoundedCornersTransformation.CornerType.ALL
        ImageView image5 = (ImageView) findViewById(R.id.iv5);
        Glide.with(this).load(url).bitmapTransform(new RoundedCornersTransformation(this, 30, 0, RoundedCornersTransformation.CornerType.BOTTOM)).crossFade(1000).into(image5);
    }
}

效果图:

© 著作权归作者所有

共有 人打赏支持
佛系programer
粉丝 1
博文 29
码字总数 19941
作品 0
珠海
程序员
Android图片加载框架:Glide的常用用法|SquirrelNote

我的系列文章 Android图片加载框架:Glide的常用用法|SquirrelNote Android图片加载框架:Glide源码解析|SquirrelNote 前言 现在Android上的图片加载框架非常成熟,从最早的图片加载框架Uni...

跳动的松鼠
2017/11/18
0
0
Android图片加载框架最全解析(一),Glide的基本用法

转载请注明出处:http://blog.csdn.net/guolinblog/article/details/53759439 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。 现在A...

sinyu890807
2017/03/21
0
0
glide图片加载失败空白的处理

问题背景 最近升级glide4.x后偶尔会有用户反馈应用升级后打开app图片无法正常显示,打开几个页面仍是如此。在glide3.x版本有碰到过类似问题,在glide4.x修复后总结一下,看看有没有人碰到类似...

天水_10
2017/12/28
0
0
Glide框架------加载图片部分

Glide是一个快速高效的Android媒体管理框架,将媒体解码、内存和硬盘缓存、资源池包装成简单和易于使用的接口。Glide支持获取、解码和显示视频文件、图片和动画GIF文件。包含了一个灵活的API...

IT学无止境
2016/11/16
0
0
Android图片缓存之初识Glide

前言: 前面总结学习了图片的使用以及Lru算法,今天来学习一下比较优秀的图片缓存开源框架。技术本身就要不断的更迭,从最初的自己使用SoftReference实现自己的图片缓存,到后来做电商项目自...

丁佳辉
2017/10/18
0
0
Android图片加载框架最全解析(八),带你全面了解Glide 4的用法

转载请注明出处:http://blog.csdn.net/guolinblog/article/details/78582548 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。 本篇将...

sinyu890807
2017/12/19
0
0
glide图片库调研报告

一. 使用介绍 接口使用非常简单: 支持预加载 支持图像变换,如圆角效果: 支持自定义配置: 可以通过上述方式,更改默认的lru缓存策略,定制存储路径,更换网络拉取方式,实现自定义进度通知...

坠落的毛毛虫
01/05
0
0
Android图片加载框架最全解析(六),探究Glide的自定义模块功能

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/72866313 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。 不知...

sinyu890807
2017/10/09
0
0
Android图片加载框架最全解析(五),Glide强大的图片变换功能

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/71524668 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。 大家...

sinyu890807
2017/08/29
0
0
Android图片加载框架最全解析(四),玩转Glide的回调与监听

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/70215985 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。 大家...

sinyu890807
2017/06/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

实现异步有哪些方法

有哪些方法可以实现异步呢? 方式一:java 线程池 示例: @Test public final void test_ThreadPool() throws InterruptedException { ScheduledThreadPoolExecutor scheduledThre......

黄威
今天
0
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

六库科技
今天
0
0
牛客网刷题

1. 二维数组中的查找(难度:易) 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入...

大不了敲一辈子代码
今天
0
0
linux系统的任务计划、服务管理

linux任务计划cron 在linux下,有时候要在我们不在的时候执行一项命令,或启动一个脚本,可以使用任务计划cron功能。 任务计划要用crontab命令完成 选项: -u 指定某个用户,不加-u表示当前用...

黄昏残影
昨天
0
0
设计模式:单例模式

单例模式的定义是确保某个类在任何情况下都只有一个实例,并且需要提供一个全局的访问点供调用者访问该实例的一种模式。 实现以上模式基于以下必须遵守的两点: 1.构造方法私有化 2.提供一个...

人觉非常君
昨天
0
0
《Linux Perf Master》Edition 0.4 发布

在线阅读:https://riboseyim.gitbook.io/perf 在线阅读:https://www.gitbook.com/book/riboseyim/linux-perf-master/details 百度网盘【pdf、mobi、ePub】:https://pan.baidu.com/s/1C20T......

RiboseYim
昨天
1
0
conda 换源

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mir......

阿豪boy
昨天
1
0
Confluence 6 安装补丁类文件

Atlassian 支持或者 Atlassian 缺陷修复小组可能针对有一些关键问题会提供补丁来解决这些问题,但是这些问题还没有放到下一个更新版本中。这些问题将会使用 Class 类文件同时在官方 Jira bug...

honeymose
昨天
0
0
非常实用的IDEA插件之总结

1、Alibaba Java Coding Guidelines 经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C...

Gibbons
昨天
1
0
Tomcat介绍,安装jdk,安装tomcat,配置Tomcat监听80端口

Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行...

TaoXu
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部