How to Add progress bar to ViewPager in Android

Go To StackoverFlow.com

1

How can I add a progress bar to a ViewPager in Android?

My scenario is that I have to load imageURL's in a ViewPager. When the user swipes the pager, if the ImageURL is not loaded I need to show the progress bar/loading GIF image.

Is it possible?

2012-04-04 07:41
by Kalai Selvan.G
Try to use lazy loading in your scenario.In this stuff use normal priority thread which renders your image in background.Try to use progress dialog rather than progress bar in your case - Shashank_Itmaster 2012-04-04 08:41


3

I think Satya was thinking to something like this in the following. In your viewpager adapter class you should have this method:

@Override
            public Object instantiateItem(View collection, final int position) {

                LayoutInflater inflater = (LayoutInflater) collection.getContext()
                        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);


                final FrameLayout imageLayout = (FrameLayout) inflater.inflate(R.layout.fotopager_buttons, null);
                final ImageView imageView = (ImageView) imageLayout.findViewById(R.id.image);
                final ProgressBar spinner = (ProgressBar) imageLayout.findViewById(R.id.loading);

                imageLoader.displayImage(Gallery.get_big_image_url(position), imageView, options, new ImageLoadingListener() {
                    @Override
                    public void onLoadingStarted() {
                    spinner.setVisibility(View.VISIBLE);
                    }

                    @Override
                    public void onLoadingFailed() {
                    spinner.setVisibility(View.GONE);
                    imageView.setImageResource(android.R.drawable.ic_delete);
                    }

                    @Override
                    public void onLoadingComplete() {
                    spinner.setVisibility(View.GONE);
                    }
                    });


                views.put(position, iv);

                ((ViewPager) collection).addView(imageLayout,0);

                return imageLayout;
}

And the R.layout.fotopager_buttons.xml like that:

<?xml version="1.0" encoding="utf-8"?>

<ImageView
    android:id="@+id/image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:adjustViewBounds="true" />

<ProgressBar
    android:id="@+id/loading"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"/>

You can see the rest of the imageLoader class here: https://github.com/nostra13/Android-Universal-Image-Loader/blob/master/UniversalImageLoaderExample/src/com/nostra13/example/universalimageloader/ImagePagerActivity.java

2012-04-04 17:15
by Zappescu
This is what i exactly need..bunch thanks my Frien - Kalai Selvan.G 2012-04-06 06:15
Here is an issue am getting runtime exception..Shows that Configuration=nul - Kalai Selvan.G 2012-04-06 08:37
Well, I just posted a piece of the complete code. Let's try to check all the rest in the link attached - Zappescu 2012-04-06 09:07
I downloaded the code from that link..It works fine,but if i add my imageURLS there exists the proble - Kalai Selvan.G 2012-04-06 09:24
@Zappescu the attached link is not valid anymore - Mazen Kasser 2013-10-08 03:24
@mazen here it is the new link: https://github.com/nostra13/Android-Universal-Image-Loader/blob/master/sample/src/com/nostra13/example/universalimageloader/ImagePagerActivity.jav - Zappescu 2013-10-09 06:26


0

You could try to handle that in your own view rather than tying it up with the viewpager.

2012-04-04 08:27
by Satya
@Sathya: how is that possible could u explain it or some samples there!! - Kalai Selvan.G 2012-04-04 09:50
Ads