How to lazy load images in webview android - android

How to load images in webview as background i.e lazy load images in webview android. Right now while loading a url in my app which uses webview on scrolling images not load instantly which causes UI slide up/down each time any images loads. How can I load images in background with placing a placeholder while the images not loaded.

the webpage which sould be shown, have to provide the dimension of the image. Otherwise you have no chance to guess the dimension for your placeholder. If the dimension is providede. the Webview will automatical reserve the space for the image. (works like any browser)

Related

How to cache image in picasso without load it to ImageView?

I developed my own AD SDK (like admob) and use picasso for loading images .
my purpose is prevent user see blank imageview or placeholder while image is loading therefor I want load images in an IntentService to sure when activity started user see image without waiting .
how can i achieve this ?

Displaying a preview of a webpage inside imageview

I want to get a preview of a webpage for a given url, how can I achieve that?
I have a simple Activity with a layout only with an ImageView, and I want to display a preview of the web page inside the ImageView.
The only solution will probably be to have a small disabled webview and load the url from the webview.

Android Loading Indicator for Downloading Images

I am using an Image Loaded which loads images based on requirment and since the images are big. I want to display an intermediate Spinning Image showing which would convey that the image is loading to the User.
I am displaying these images in the Viewpager.
We can not use a Gif image to display the animation and i wonder how it can be done.
P.S i am not looking for a Progress Dialog.
You could try doing a View Animation on the ImageView. Rotate is one of the included animations, and you can define it in XML.
Here's a Youtube Video from Google explaining it a little more.

Loading image before webview loading?

I am working on web app which i am using web view to load that directly from website url. At the time of loading that url in android webview it is loading very slowly that it is taking nearly 5 -7 seconds for loading,in the mean while white screen is displaying. So, what i am thinking is while the process of loading webview, i want to display an image on screen and after 5 seconds the app will load. so that by displaying 5 seconds any image in the mean while webview loads so, the user can directly access the app without facing any time delay(like getting white screen).
My code is :
WebView webview = (WebView) findViewById(R.id.webView1);
websetting = webview.getSettings();
websetting.setJavaScriptEnabled(true);
webview.setVerticalScrollBarEnabled(false);
webview.loadUrl("/**here loading my url which is taking nearly 5-8 seconds to load**/");
I tried using splash screen, but here after splash screen has been timed out then webview is loading.
So, can anyone help me with this. Loading of image while webview is loading.
You can cache the image on the disk for each call. Before displaying the image check if the image already exists on the cache. If it does load it from there, else download the image to the cache and load it from there. While the image is loading, show a stub to the user. I've done this with an image view before.
Beware that your cache image may be stale. Your code must handle that too. Here is a related question where this has been implemented
Lazy load of images in ListView
Some of the top answers on that question do not use good coding practices on android so watch out for that.

Reverse image load order?

First Question
I use Lazy load of images in ListView to load images in a ListView and a GridView. It works but the images are loaded form bpttom to top. How to fix that?
Bonus Question
Can I use a loading animation in a image view while the real image is loaded? Right now it's just a default image.
In ImageLoader.java you could replace
photoToLoad=photosQueue.photosToLoad.pop();
with
photoToLoad=photosQueue.photosToLoad.get(0);
photosQueue.photosToLoad.remove(photoToLoad);
It will change the order.
To display ProgressBar you can just add it to item.xml. Initially ProgressBar is visible and image is hidden. After bitmap is downloaded you hide ProgressBar and show image. But I would not recommend doing that. While images are being decoded in the background they consume processor power and all your progress bars may be freezing sometimes.

Categories

Resources