0

添付したような進行状況バーを表示するダイアログを作成したいと思います。バックグラウンドでいくつかの作業が行われ、進行状況バーがユーザーに表示されている間に、一連の画像を表示したいと考えています。どうすればそのような活動/対話を行うことができますか? 誰でも私に何かアドバイスできますか?

ここに画像の説明を入力

4

2 に答える 2

1

正確にあなたの問題は何ですか?進行状況に応じて異なる画像を表示するレイアウトまたはコード?

レイアウトではないと思います。したがって、ハンドラーでRunnable/AsyncTaskを使用することをお勧めします。これについては、AsyncTaskリファレンスを参照してください。

したがって、主なアイデアは次のようになります。メインアクティビティでダイアログを開始し、メインアクティビティからハンドラーを受け取るRunnableを開始します。Runnable自体はAsyncTaskを拡張し、「doInBackground」関数で何かを実行します。たとえば、Handler.sendMessage(msg)関数を介して進行状況ダイアログにメッセージを送信します。メインクラスは、「handleMessage」関数を介してこのメ​​ッセージを受信し、それに応じて画像を更新できます。受信したメッセージについて。それはおそらく最も正確な説明ではありませんが、上記のリンクはそれを明確にする必要があります。

于 2012-11-22T16:37:08.950 に答える
1

ProgressBar ui 要素を利用します。

http://developer.android.com/reference/android/widget/ProgressBar.html

レイアウトは次のようになります。

<LinearLayout
     android:orientation="horizontal"
     ... >
     <ImageView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         ..... />
     <ProgressBar
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         style="@android:style/Widget.ProgressBar.Horizontal"
         android:layout_marginRight="5dp" />
 </LinearLayout>

次に、アクティビティで、AsyncTask の「onProgressUpdate」で進行状況バーを更新しているときに、何らかの間隔で imageView の画像を切り替えることもできます。

于 2012-11-22T17:58:42.487 に答える