我在Android应用程序中使用Gallery View。所有图像都来自url,所以我在GalleryView中使用LazyLoader进行图像加载。画廊完全填充。但它失去了图像质量..我想填充画廊没有图像质量丢失..请帮助我..
答案 0 :(得分:5)
如果你在谈论Fedor的延迟加载,那么解决方案就在于:
//Find the correct scale value. It should be the power of 2.
final int REQUIRED_SIZE=70;
int width_tmp=o.outWidth, height_tmp=o.outHeight;
int scale=1;
while(true){
if(width_tmp/2<REQUIRED_SIZE || height_tmp/2<REQUIRED_SIZE)
break;
width_tmp/=2;
height_tmp/=2;
scale*=2;
}
这是从第96行到第106行:https://github.com/thest1/LazyList/blob/master/src/com/fedorvlasov/lazylist/ImageLoader.java。我正在链接这个,以便您可以检查源代码并与您的代码进行比较。
您需要在此处更改此位:final int REQUIRED_SIZE=
70 。请注意,此数字需要 2 的幂。使用默认值 70 ,您将获得小图像,当在需要显示更大图片的应用程序中使用时,它们看起来会变形。四处游玩,直到你对结果感到满意为止。
这应该适合你。