我正在开发一个安卓应用程序,显示全屏图像给用户。从服务器获取图像。我正在使用Glide来显示图像。但在显示实际图像之前,我想显示一个非常小的模糊图像。一旦图像被缓存,应该直接显示完整大小的图像。
图像显示流程是这样的:-如果是第一次下载图像,首先下载一个小尺寸的图像,然后再下载全分辨率图像。-如果之前已经下载过图片,则直接显示全图。
我在Glide库中找不到任何方法,这些方法可以告诉我文件是否存在于缓存中。
任何想法,如何做到这一点。
发布于 2016-11-18 17:36:02
Glide.with(context.getApplicationContext())
.load(Your Path) //passing your url to load image.
.override(18, 18) //just set override like this
.error(R.drawable.placeholder)
.listener(glide_callback)
.animate(R.anim.rotate_backward)
.centerCrop()
.into(image.score);发布于 2017-12-27 23:31:03
使用Glide v4:
Glide.with(context)
.load(URL)
.thumbnail(0.1f)
.into(image_view)发布于 2016-08-24 03:19:03
更好的是你可以从这个库中获得想法或者使用这个库。
在Android中做模糊和原始图像的2种方法。
1)初始加载模糊图像服务器URL路径,一旦加载成功,采用位图缓存机制加载原始(大)图像服务器URL路径。
第一点是可能的,我得到了你的答案(要求你的服务器团队获得模糊图像或低质量图像,以使模糊,然后加载大图像)。APK Link
Glide.with(mContext)
.load(image.getMedium())
.asBitmap()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(Bitmap bitmap, GlideAnimation anim) {
// Do something with bitmap here.
holder.thumbnail.setImageBitmap(bitmap);
Log.e("GalleryAdapter","Glide getMedium ");
Glide.with(mContext)
.load(image.getLarge())
.asBitmap()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(Bitmap bitmap, GlideAnimation anim) {
// Do something with bitmap here.
holder.thumbnail.setImageBitmap(bitmap);
Log.e("GalleryAdapter","Glide getLarge ");
}
});
}
});2) Facebook的Fresco是一个新的Android图像库。这是介绍该库的官方博客文章。它支持在网络上传输渐进式JPEG图像,这对于在低速连接上显示大图像非常有帮助。人们可以看到图像的质量逐渐提高。
Progressive JPEGs with Facebook Fresco
https://stackoverflow.com/questions/37944879
复制相似问题