图片加载框架Glide 详细使用

#前言: 谈到图片加载框架,必然会想到picasso,glide,甚至是比较经典的已经不再维护的Image-Loader.Glide 作为google推荐的图片加载框架,值得一探究竟。


#基本使用: Glide.with(context).url(url).into(imageview); 这样我们就能加载一张网络图片了,是不是很简单. 记得加入网络权限.glide的强大之处远远不止于此, #中级用法:

  • 设置占位图: 当我们加载图片时如果想给imageview设置一张默认的图片只需: Glide.with(this).load(url).placeholder(R.drawble.place).into(imageview);
  • 设置错误图片: 当网络错误或者某些原因导致图片加载失败时设置错误图片我们只需: Glide.with(this).load(url)..centerCrop().placeholder(R.drawble.place).error(R.drawble.load.error).into(imageview);
  • 加载本地图片: 加载本地图片只需传入file即可: Glide.with(context).load(file).into(imageview);
  • 加载gif图片; glide支持加载gif图片,和加载普通一样只需传入url即可: Glide.with(this).load(GifUrl).into(imageview); glide还支持加载本地图片的第一帧,这样我们用作视频的缩略图,也和加载本地图片一样传入file即可: Glide.with(context).load(VideoFile).into(imageview); #终极用法:
  • 图片预处理: 党我们的图片有特殊需求的时候(如圆形头像,高斯模糊等)glide也提供了方法来处理: 通过继承BitmapTransformation来对图片进行预处理;
  public  class BitmapTransform extends BitmapTransformation {
        @Override
        protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
            //toTransform就是可以预处理的bitmap
        }

        @Override
        public String getId() {
    
        }
}
复制代码

如果对图片处理不熟悉,可以参考**glide-transformations**,该库有比较常见的的图片处理类,如高斯模糊,圆形,圆角图片等.

  • 自定义Glide: 我们一般情况下使用glide的时候都比较简单glide已经默认帮我们配置好了图片质量,图片缓存等,当我们需要自定义的时候可以通过实现GlideModule类来实现. 如:
public class MyGlideModule implements GlideModule {

    @Override
    public void applyOptions(Context context, GlideBuilder builder) {
       //可以通过GlideBuilder 来设置自定义属性,如:
        builder.setDiskCache();//自定义磁盘缓存
        builder.setMemoryCache();//自定义内存缓存
         builder.setDecodeFormat();//自定义图片质量
        //还有其他的可自行查看.

    }

    @Override
    public void registerComponents(Context context, Glide glide) {
       
    }
}

复制代码

**注:自定义module需要在AndroidManifest中配置,在application节点下添加: <meta-data android:name="com.xxx.MyGlideModule" android:value="GlideModule" /> 这样就自定义module就完成了, 在清单文件中可以自定义多个GlideModule, **

转载于:https://juejin.im/post/5a3396c951882565845455d6

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值