美文网首页Android
Android之Glide获取图片Path和Glide获取图片B

Android之Glide获取图片Path和Glide获取图片B

作者: onlyxing | 来源:发表于2017-12-14 11:00 被阅读25次

Glide是Google推荐用的图片加载框架


Glide.with(context).load(ImgUrl).into(ImageView);

load(): String(文件路径,网络地址),File(文件资源),Integer(资源id);

asGif: 表示的gif动画

asBitmap:表示静态图

diskCacheStrategy 磁盘缓存策略:

(1) DiskCacheStrategy.RESULT: 展示小大的图片缓存

(2) DiskCacheStrategy.ALL: 展示在控件中大小图片尺寸和原图都会缓存

(3) DiskCacheStrategy.NONE:不设置缓存

(4) DiskCacheStrategy.SOURCE:原图缓存

placeholder(R.drawable.loading):  目标从加载到展示时的控件的显示状态(多用网络加载动画)

error(R,drawable,error):  加载失败时,控件显示的图片。

into(ImageView):  展示的控件



Glide提供了一个downloadOnly() 接口来获取缓存的图片文件,但是前提必须要设置diskCacheStrategy方法的缓存策略为DiskCacheStrategy.ALL或者DiskCacheStrategy.SOURCE,还有downloadOnly()方法需要在线程里进行

1)在图片下载缓存好之后获取

Glide.with(mContext).load(url).asBitmap().into(new SimpleTarget() {

@Override

public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) {

image.setImageBitmap(resource);

}

}); //方法中设置asBitmap可以设置回调类型

全面的方法: Glide.with(mContext).load(url).asBitmap().into(new Target<Bitmap>() {});

2)通过url获取

Bitmap myBitmap = Glide.with(applicationContext)

.load(yourUrl)

.asBitmap() //必须

.centerCrop()

.into(500, 500)

.get()

3)获取图片缓存路径

FutureTargetfuture = Glide.with(mContext)

.load("url")

.downloadOnly(500, 500);

try {

File cacheFile = future.get();

String path = cacheFile.getAbsolutePath();

} catch (InterruptedException e) {

e.printStackTrace();

} catch (ExecutionException e) {

e.printStackTrace();

}

注意:这段代码需要在线程中执行

相关文章

网友评论

    本文标题:Android之Glide获取图片Path和Glide获取图片B

    本文链接:https://www.haomeiwen.com/subject/rlbhwxtx.html