我正在使用Volley NetworkImageView从web加载图像。以下方法是获取ImageLoader。
public static ImageLoader getVolleyImageLoader(RequestQueue queue){
ImageLoader imageLoader = new ImageLoader(queue, new ImageLoader.ImageCache() {
private final LruCache<String, Bitmap> mCache = new LruCache<String, Bitmap>(5);
public void putBitmap(String url, Bitmap bitmap) {
mCache.put(url, bitmap);
}
public Bitmap getBitmap(String url) {
return mCache.get(url);
}
});
return imageLoader;
}
这是布局小部件
<com.android.volley.toolbox.NetworkImageView
android:id="@+id/deal_thumb_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="@dimen/deals_image_left_margin" />
这工作正常。成功加载图片。但是图像的质量很差。图像的尺寸太小,实际图像太小。
如何改善图像质量?
答案 0 :(得分:0)
您必须将排球源代码包含在项目中(如Google IO 2014视频中所示)
然后从工具箱文件夹中打开ImageLoader并更改ImageRequest返回的位图配置:
protected Request<Bitmap> makeImageRequest(String requestUrl, int maxWidth, int maxHeight,
ScaleType scaleType, final String cacheKey) {
return new ImageRequest(requestUrl, new Listener<Bitmap>() {
@Override
public void onResponse(Bitmap response) {
onGetImageSuccess(cacheKey, response);
}
}, maxWidth, maxHeight, scaleType, Config.RGB_565, new ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
onGetImageError(cacheKey, error);
}
});
}
只需按Config.RGB_565
更改Config.ARGB_8888
即可完成