Androidで不確定な水平プログレスバーを表示するにはどうすればよいですか?プログレスバーのアニメーションは、0から100まで開始し、100から0まで継続的に戻る必要があります。ホイールプログレスバーを探していません。
5 に答える
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
少し遅れるかもしれませんが、次のようなことができます。
<ProgressBar
android:id="@+id/progress"
android:layout_width="match_parent"
android:layout_height="10dp"
android:indeterminate="true"
style="?android:attr/progressBarStyleHorizontal" />
それが誰かを助けることを願っています!
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"/>
プログレスバーを定義するxmlで、次のように追加できます
style="@android:style/Widget.ProgressBar.Horizontal"