对Glide的初使用

来源:互联网 发布:怎么改变网络节点 编辑:程序博客网 时间:2024/05/22 04:54

最近在做一个与图片相关的项目,前阵子学了Glide的基本用法,于是就把Glide运用到了本项目中。Glide有很多的优势:使用简单,一行代码就可以搞定图片的加载
          可配置度高,自适应的程度高
        支持多种图片的格式:jpg、png、gif、webp
          支持多种数据源:网络、本地、资源、assets
          缓存策略高效,支持Memory缓存和Disk缓存,默认的Bitmap格式采用RGB_565,内存使用至少减少一半
          生命周期根据Activity/Fragment自动管理请求
         高效处理Bitmap,使用Bitmap的线程池是Bitmap复用,主动调用recycle回收需要回收的Bitmap,减少系统的压力。

下面介绍Glide的基本用法:

首先是添加依赖:compile 'com.github.bumptech.glide:glide:3.7.0'

(1)加载网络图片:

 Glide.with(this).load("网络图片的url").into(ImageVIew);
(2)加载资源图片:

Glide.with(this).load(资源图片).into(ImageVIew);
(3)加载本地图片

String path= Environment.getExternalStorageDirectory()+"/图片名字";        File file=new File(path);        Uri uri=Uri.fromFile(file);        Glide.with(this).load(uri).into(ImageView);
(4)加载网络Gif:占位图:placeholder(R.mipmap.ic_launcher)

 Glide.with(this).load(网络gif图片url).placeholder(R.mipmap.ic_launcher).into(ImageView);
(5)加载资源gif:

Glide.with(this).load(资源gif图片).asGif().placeholder(R.mipmap.ic_launcher).into(ImageView);
(6)加载本地gif

File gifFile=new File(gifPath);        Glide.with(this).load(gifFile).placeholder(R.mipmap.ic_launcher).into(ImageView);
(7)加载本地小视屏、快照首页

 File videoFile=new File(videoPath);        Glide.with(this).load(Uri.fromFile(videoFile)).placeholder(R.mipmap.ic_launcher).into(iv7);
(8)设置缩略图比例,然后先加载缩略图,再加载原图:此例子缩略图设为原图的0.1;

String urlPath=Environment.getExternalStorageDirectory()+"图片的名称";        Glide.with(this).load(new File(urlPath)).thumbnail(0.1f).centerCrop()                .placeholder(R.mipmap.ic_launcher).into(ImageView);
(9)先建立缩略图对象,然后加载缩略图、再加载原图:

 DrawableRequestBuilder thumbnailRequest=Glide.with(this).load(new File(urlPath));        Glide.with(this).load(Uri.fromFile(videoFile)).thumbnail(thumbnailRequest).centerCrop()                .placeholder(R.mipmap.ic_launcher).into(ImageView);
(10)设置动画效果

.animate(动画对象)    //动画效果
(11)设置错误时显示的图片

.error(R.mipmap.ic_launcher)

(12)对图片进行裁剪,模糊,滤镜等处理:

添加依赖:compile 'jp.wasabeef:glide-transformations:2.0.1'    

         compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.0'

此时可以对图片进行一些特效处理比如要将图片变成圆形显示:

Glide.with(mContext)                        .load(R.mipmap.dogs)                        .bitmapTransform(new CropCircleTransformation(mContext))                        .into(holder.mImageView);
关于Glide的基本使用就介绍这些啦,往后还要向大神们学习读它的源码













0 0
原创粉丝点击