touchimageview - Android: Glide not showing large image from URL -
i'm trying load large hi-res (3225x4800) image url glide newspaper company. image wanted load 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); } });
i'm using mike ortiz' touchimageview solution offered here: https://github.com/mikeortiz/touchimageview/issues/135 when loading resource url. seems work on small resolution image , not load high quality image.
there alternative solution tried stackoverflow: android: not displayed imageview uil , touchimageview tries modify onmeasure() method of mike's library. works with:
glide.with(getactivity()).load(url) .into(imageviewpreview);
the problem loads image in low resolution.
is there way load high resolution image like: 7480x3740 instance using glide , touchimageview? how do that?
i have found solution worked requirement. override() method trick. setting higher numbers target resolution seems final workaround, bigger numbers, longer time take display image(s), wise implement preloader/progressbar.
glide.with(getcontext()) .load(url) .asbitmap() //.placeholder(r.drawable.default_placeholder) .override(1600, 1600) // can 2000, 2000 .into(new bitmapimageviewtarget(imageviewpreview) { @override public void onresourceready(bitmap drawable, glideanimation anim) { super.onresourceready(drawable, anim); progressbar.setvisibility(view.gone); } });
custom centered preloader/progressbar placeholder indicator on relativelayout xml:
<progressbar android:id="@+id/progressbar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerinparent="true" />
this neat because issue related loading image asbitmap() in glide not show placeholders error , preloader/progress indicator:
glide.with(getactivity()) .load(url).asbitmap() .placeholder() //<== not work: .error() // <== useless .into(new simpletarget<bitmap>() { @override public void onresourceready(bitmap resource, glideanimation<? super bitmap> glideanimation) { imageview.setimagebitmap(resource); }
});
in research, have tried picasso solution handle high quality image:
picasso.with(getcontext()) .load(url) .resize(1500, 0) .placeholder(r.drawable.default_placeholder) .error(r.drawable.download_error) .into(imageviewpreview);
in end, happy glade version.
i hope helpful might facing same challenge.
Comments
Post a Comment