我正在尝试从URL加载一个大的高分辨率(3225×4800)图像到报纸公司的滑行.我想加载的图像是High Res Image.
String url = "http://www.businessweekmindanao.com/content/wp-content/uploads/2015/10/fitness-and-wellness-poster-final.jpg";GlIDe.with(getActivity()).load(url).asBitmap().into(new SimpleTarget<Bitmap>() { @OverrIDe public voID onResourceReady(Bitmap resource, GlIDeAnimation<? super Bitmap> glIDeAnimation) { imageVIEw.setimageBitmap(resource); }});
我正在使用Mike Ortiz的touchImageVIEw来自这里提供的解决方案:https://github.com/MikeOrtiz/TouchImageView/issues/135从url加载资源时.但它似乎只适用于小分辨率图像,并且它不会加载高质量图像.
我从stackoverflow尝试了另一种解决方案:Android: not displayed ImageView with UIL and TouchImageView尝试修改Mike的库的onMeasure()方法.它适用于:
GlIDe.with(getActivity()).load(url) .into(imageVIEwPrevIEw);
问题是它以非常低的分辨率加载图像.
有没有办法加载高分辨率图像,如:7480×3740,例如使用GlIDe和touchImageVIEw?我怎么做?
解决方法:
我找到了一个符合我要求的解决方案. overrIDe()方法可以解决这个问题.为目标分辨率设置更高的数字似乎是最终的解决方法,但数字越大,显示图像所需的时间就越长,因此实现预加载器/进度条是明智的.
GlIDe.with(getContext()) .asBitMap() //[for new glIDe versions] .load(url) //.asBitmap()[for older glIDe versions] //.placeholder(R.drawable.default_placeholder) .overrIDe(1600, 1600) // Can be 2000, 2000 .into(new BitmAPImageVIEwTarget(imageVIEwPrevIEw) { @OverrIDe public voID onResourceReady(Bitmap drawable, GlIDeAnimation anim) { super.onResourceReady(drawable, anim); progressbar.setVisibility(VIEw.GONE); } });
relativeLayout xml上的自定义居中预加载器/进度条占位符指示器:
<Progressbar androID:ID="@+ID/progressbar" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_centerInParent="true" />
这很简洁,因为在GlIDe中加载图像asBitmap()的另一个问题不会显示错误和预加载器/进度指示器的占位符:
GlIDe.with(getActivity()) .load(url).asBitmap() .placeholder() //<== will simply not work: .error() // <== is also useless .into(new SimpleTarget<Bitmap>() {@OverrIDepublic voID onResourceReady(Bitmap resource, GlIDeAnimation<? super Bitmap> glIDeAnimation) { imageVIEw.setimageBitmap(resource); }});
在我的研究中,我也尝试过毕加索解决方案来处理高质量的图像:
Picasso.with(getContext()) .load(url) .resize(1500, 0) .placeholder(R.drawable.default_placeholder) .error(R.drawable.download_error) .into(imageVIEwPrevIEw);
最后,我对Glide版本很满意.
我希望这对任何可能面临同样挑战的人都有所帮助.
总结以上是内存溢出为你收集整理的Android:Glide没有显示来自网址的大图片全部内容,希望文章能够帮你解决Android:Glide没有显示来自网址的大图片所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)