添付したような進行状況バーを表示するダイアログを作成したいと思います。バックグラウンドでいくつかの作業が行われ、進行状況バーがユーザーに表示されている間に、一連の画像を表示したいと考えています。どうすればそのような活動/対話を行うことができますか? 誰でも私に何かアドバイスできますか?
2 に答える
正確にあなたの問題は何ですか?進行状況に応じて異なる画像を表示するレイアウトまたはコード?
レイアウトではないと思います。したがって、ハンドラーでRunnable/AsyncTaskを使用することをお勧めします。これについては、AsyncTaskリファレンスを参照してください。
したがって、主なアイデアは次のようになります。メインアクティビティでダイアログを開始し、メインアクティビティからハンドラーを受け取るRunnableを開始します。Runnable自体はAsyncTaskを拡張し、「doInBackground」関数で何かを実行します。たとえば、Handler.sendMessage(msg)関数を介して進行状況ダイアログにメッセージを送信します。メインクラスは、「handleMessage」関数を介してこのメッセージを受信し、それに応じて画像を更新できます。受信したメッセージについて。それはおそらく最も正確な説明ではありませんが、上記のリンクはそれを明確にする必要があります。
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 の画像を切り替えることもできます。