AndroidのViewPager
にプログレスバーを追加するにはどうすればよいですか?AndroidのViewPagerにプログレスバーを追加する方法
私のシナリオでは、ViewPager
にimageURLをロードする必要があります。ユーザーがページャーをスワイプすると、ImageURLがロードされていない場合は、プログレスバー/ロードGIFイメージを表示する必要があります。
可能ですか?
AndroidのViewPager
にプログレスバーを追加するにはどうすればよいですか?AndroidのViewPagerにプログレスバーを追加する方法
私のシナリオでは、ViewPager
にimageURLをロードする必要があります。ユーザーがページャーをスワイプすると、ImageURLがロードされていない場合は、プログレスバー/ロードGIFイメージを表示する必要があります。
可能ですか?
サタヤは次のようなことを考えていたと思います。
@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
これは私が正確に必要としているものです。おかげで私の友人 –
ここに問題がランタイム例外を取得しています..設定= null –
まあ、私はちょうど完全なコードの一部を投稿しました。添付されたリンクの残りすべてをチェックしようとしましょう。 – Zappescu
あなたは、それをビューページャーと結びつけるのではなく、自分のビューで扱うことができます。
@サティヤ:それはどうやってそれを説明することができますか、そこにいくつかのサンプル! –
あなたのシナリオでは 'lazy loading'を使用してみてください。あなたのケースではプログレスバーではなく進行状況ダイアログを使用するように、画像を背景でレンダリングする通常の優先スレッドを使用してください。 –