文档章节

图片加载框架Glide

佛系programer
 佛系programer
发布于 2016/11/11 17:56
字数 630
阅读 84
收藏 1

本人之前就是网络加载图片各种费劲,而且还有另开线程,非常麻烦,代码量多且复杂,后来接触到图片加载框架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
粉丝 2
博文 29
码字总数 19941
作品 0
珠海
程序员
私信 提问
Android图片加载框架:Glide的常用用法|SquirrelNote

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

跳动的松鼠
2017/11/18
0
0
Android Studio 第六十七期 - Android Glide3.7.0和3.8.0用法

一、前言:再优秀的开源库都有坑要填 手上的项目使用的图片加载框架是:Universal-Image-Loader+业务需要定制化的一些代码。Universal-Image-Loader 这个框架是一个非常经典好用的框架,唯一...

吴雨声
07/23
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
Android 图片加载框架 Glide4.x

概述 Glide是一个图片加载框架,使得我们可以轻松的加载和展示图片 Glide4.x新增apply()来进行设置,apply可以调用多次,但是如果两次存在冲突的设置,会以最后一次为准 新增RequestOptions对...

xi阳
09/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

docker部署springboot项目

安装docker 菜鸟教程 springboot项目 maven依赖 <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001......

yimingkeji
今天
10
0
ios多个target

1.建立3个target,分别为heroone,heroone test,heroone dev;分别为正式环境,test环境,dev环境 2.注意取消掉autocreate以防止名字不对,分别以Duplicate的方式建立另外两个scheme 3.创建...

HeroHY
今天
6
0
php获取客户端IP

php获取客户端IP 首先先阅读关于IP真实性安全的文章:如何正確的取得使用者 IP? 「任何從客戶端取得的資料都是不可信任的!」 HTTP_CLIENT_IP头是有的,但未成标准,不一定服务器都实现。 ...

DrChenXX
昨天
0
0
. The valid characters are defined in RFC 7230 and RFC 问题

通过这里的回答,我们可以知道: Tomcat在 7.0.73, 8.0.39, 8.5.7 版本后,添加了对于http头的验证。 具体来说,就是添加了些规则去限制HTTP头的规范性 参考这里 具体来说: org.apache.tom...

west_coast
昨天
1
0
刷leetcode第704题-二分查找

今天双十一买的算法书到货了,路上刷到有人说的这个题,借(chao)鉴(xi)一下别人的思路,这个是C++标准库里面的经典方法,思路精巧,优雅好品味 int search(int* nums, int numsSize, in...

锟斤拷烫烫烫
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部