0

AndroidのViewPagerにプログレスバーを追加するにはどうすればよいですか?AndroidのViewPagerにプログレスバーを追加する方法

私のシナリオでは、ViewPagerにimageURLをロードする必要があります。ユーザーがページャーをスワイプすると、ImageURLがロードされていない場合は、プログレスバー/ロードGIFイメージを表示する必要があります。

可能ですか?

+0

あなたのシナリオでは 'lazy loading'を使用してみてください。あなたのケースではプログレスバーではなく進行状況ダイアログを使用するように、画像を背景でレンダリングする通常の優先スレッドを使用してください。 –

答えて

2

サタヤは次のようなことを考えていたと思います。

@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; 
} 

そして、そのようなR.layout.fotopager_buttons.xml:あなたは、このメソッドを持っている必要があり、あなたのviewpagerアダプタクラスで

<?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"/> 

あなたはここのimageLoaderクラスの残りの部分を見ることができます:https://github.com/nostra13/Android-Universal-Image-Loader/blob/master/UniversalImageLoaderExample/src/com/nostra13/example/universalimageloader/ImagePagerActivity.java

+0

これは私が正確に必要としているものです。おかげで私の友人 –

+0

ここに問題がランタイム例外を取得しています..設定= null –

+0

まあ、私はちょうど完全なコードの一部を投稿しました。添付されたリンクの残りすべてをチェックしようとしましょう。 – Zappescu

0

あなたは、それをビューページャーと結びつけるのではなく、自分のビューで扱うことができます。

+0

@サティヤ:それはどうやってそれを説明することができますか、そこにいくつかのサンプル! –

関連する問題