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