Androidで不確定な水平プログレスバーを表示するにはどうすればよいですか?進行状況バーのアニメーションは0から100で始まり、100から0に連続して戻ります。ホイールの進行状況バーを探していません。
setIndeterminate
が無限の水平プログレスバーを与えることは既に知っていました。しかし、それは水平になることを除いて、ローディングホイールに似ています。あなたが私の質問を見るなら、私は0から始まり100までずっと行く水平バーを探していました(徐々に増加します)。 Androidでこれを実現するには、以下のように進行状況バーを使用する必要があります。
<ProgressBar
Android:id="@+id/progress_horizontal"
Android:indeterminateOnly="false"
Android:indeterminateDrawable="@drawable/progress_indeterminate_horizontal"
Android:progressDrawable="@drawable/progress_horizontal"
Android:minHeight="24dip"
Android:maxHeight="24dip"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"/>
進行状況バーの背景を変更したいので、ProgressDrawableとIndeterminateDrawableを変更しました。元のドロアブルはframeworks/base/core/res/res/drawable
の下にあります。それらをプロジェクトにコピーし、必要に応じて色を変更します。
進捗カウントを更新し、Thread.Sleep
を実行するスレッドを作成します。次に、メッセージをハンドラーに送信し、ハンドラーがUIスレッドの進行状況バーを更新します。
ProgressBarのメソッドsetIndeterminateを使用します。
Android.widget.ProgressBar bar = new Android.widget.ProgressBar(context);
bar.setIndeterminate(true);
しかし、そうです、開発者向けドキュメントでこれをすぐに見つけることができたはずです。
http://developer.Android.com/reference/Android/widget/ProgressBar.html#setIndeterminate%28boolean%29
Vinoth Answerを拡張するための準備ができたコードを次に示します。
<ProgressBar
Android:id="@+id/progressBarLoadingRecite"
Android:indeterminateDrawable="@Android:drawable/progress_indeterminate_horizontal"
Android:minHeight="24dip"
Android:layout_marginTop="20dip"
Android:indeterminate="true"
Android:maxHeight="24dip"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"/>
少し遅いかもしれませんが、次のようなことができます:
<ProgressBar
Android:id="@+id/progress"
Android:layout_width="match_parent"
Android:layout_height="10dp"
Android:indeterminate="true"
style="?android:attr/progressBarStyleHorizontal" />
それが誰かを助けることを願っています!
進捗バーを定義するxmlで、次を追加できます。
style="@Android:style/Widget.ProgressBar.Horizontal"