Подтвердить что ты не робот

Индикатор прогресса Android

Как получить неопределенный горизонтальный индикатор выполнения в android? Индикатор выполнения должен начинаться от 0 до 100, а затем непрерывно возвращаться от 100 до 0. Я не ищу индикатор хода колеса.

4b9b3361

Ответ 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. Затем он отправляет сообщение обработчику, который обновляет индикатор выполнения в потоке пользовательского интерфейса.

Ответ 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"