Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Display ProgressBar while image is loading in ImageView?

Is there a way to "swap" out a view at runtime? Here's my goal: I want to display an animated, indeterminate ProgressBar view until my image is loaded. Is there a way to do this easily, without having to do a bunch of crazy stuff? Is there a way I can get the resource ID of the ProgressBar spinner animation and simply reuse that?

like image 413
Naftuli Kay Avatar asked Dec 05 '22 23:12

Naftuli Kay


1 Answers

Yes. I tend to make a FrameLayout which contains both an ImageView and a ProgressBar. In onCreate() I do imageView.setVisibility(View.INVISIBLE) and then once the image loads I do:

progress.setVisibility(View.INVISIBLE);
imageView.setVisibility(View.VISIBLE);

In terms of the threading you should as always use AsyncTask. This is easily the most complicated part of the process, although still quite manageable. Check out this answer for a full code listing.

like image 108
Matthew Willis Avatar answered Feb 11 '23 23:02

Matthew Willis