Как получить неопределенный горизонтальный индикатор выполнения в android? Индикатор выполнения должен начинаться от 0 до 100, а затем непрерывно возвращаться от 100 до 0. Я не ищу индикатор хода колеса.
Индикатор прогресса Android
Ответ 1
Я уже знал, что 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
. Затем он отправляет сообщение обработчику, который обновляет индикатор выполнения в потоке пользовательского интерфейса.
Ответ 2
Используйте метод setIndeterminate of ProgressBar:
android.widget.ProgressBar bar = new android.widget.ProgressBar(context);
bar.setIndeterminate(true);
Но да, вы могли бы найти это довольно быстро в документах разработчика.
http://developer.android.com/reference/android/widget/ProgressBar.html#setIndeterminate%28boolean%29
Ответ 3
Чтобы расширить Vinoth Ответ, вот готовый код:
<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"/>
Ответ 4
В xml, определяющем ваш индикатор выполнения, вы можете добавить
style="@android:style/Widget.ProgressBar.Horizontal"