0

私は問題があります。

ViewFlipper といくつかの文字列データ配列 (画像の URL) を含むフラグメントがあります。

これらの画像を遅延読み込みして、画像が読み込まれるまでプログレスバーを表示するにはどうすればよいですか (可能であればキャッシュします)? 別のビュー (ViewFlipper ではない) を使用できますか?

そして2問目。現在の画像の位置を示すビューを作成するにはどうすればよいですか? 現在の画像の下に黒い一連の白い点など。最初の現在の画像の場合 - 最初の黒い点。ありがとう。

4

1 に答える 1

0

Google では、最初の質問に答えるトレーニング クラスをここで開催しています。AsyncTask を使用してバックグラウンドでビットマップをロードし、LruCacheを使用してメモリとDiskLruCacheを使用してディスクにキャッシュする方法を示します(リンクにある BitmapFun.zip ダウンロードに含まれています) 。ダウンロードされます

別のビュー (ViewFlipper ではない) を使用できますか?

前述の例では ViewPager を使用しています。

現在の画像の下に黒い一連の白い点。

Android SDK からそのようなビューが利用できるかどうかはわかりませんが、このサード パーティのウィジェット (Apache 2.0 ライセンス) は、あなたが望むことをしているようです。

ImageView と ProgressBar でリンクを維持するにはどうすればよいですか?

質問を理解しているかどうかはわかりませんが、(画像の読み込み中に) ProgressBar から ImageView に移動する方法を尋ねている場合、答えは ProgressBar と ImageView を含む FrameLayout を使用することです。

<FrameLayout ...>
  <ProgressBar ... />
  <ImageView 
    android:id="@+id/imageView"
    ... />

</FrameLayout>

(詳細については、演習の image_detail_fragment.xml を参照してください)

ImageView は ProgressBar の前に描画されますが、元は背景も画像もないため、透明になり、ProgressBar が表示されます。

次に、ID を使用してコードから ImageView を取得し、使用するビットマップに画像をロードしたら、次のようにします。

imageView.setImageDrawable(loadedImage);

ImageView に画像が追加されたので、透明ではなくなり、ProgressBar は表示されなくなります (レイアウトを最適化するために View.GONE に設定する場合は、進行状況バーに ID を追加することもできます)。

于 2013-04-17T15:55:07.290 に答える