Пример использования ContentLoadingProgressBar
Я просто прыгнул и нашел этот класс ContentLoadingProgressBar
с сайта разработчика в android. Я искал, не мог найти никакого использования или объяснения для класса. Я перечислил несколько вопросов по классу, и было бы здорово, если бы кто-то ответил на него.
- Как он отличается от ProgressBar?
- Должны ли мы отображать/скрывать сам ProgressBar?
- Стилирование ProgressBar?
https://developer.android.com/reference/android/support/v4/widget/ContentLoadingProgressBar.html
Ответы
Ответ 1
Я пробовал это:
<android.support.v4.widget.ContentLoadingProgressBar
android:id="@+id/address_looking_up"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:visibility="visible" />
И он работает на Android 5.0. Я думаю, что этот стиль имеет значение после моего теста.
И эффект отображения этого виджета зависит от темы вашего приложения, я боюсь.
Ответ 2
Мне удалось заставить эту работу работать для меня, но она потребовала некоторых изменений в исходном коде, который я схватил из grepcode.
Я удалил переопределение onAttachedToWindow()
, потому что я чувствовал, что в этом случае нет необходимости удалять обратные вызовы. Переопределенный метод вызвал вызов show()
в onResume()
, чтобы он не работал, потому что обратные вызовы были удалены сразу после этого.
Мне также приходилось выяснять, почему, по-видимому, не было видно никакого представления, я думаю, что причиной был третий аргумент, переданный конструкторам ProgressBar
, поэтому я сменил конструкторы на вызов конструкторов ProgressBar
непосредственно без изменения аргументы.
Моя версия этого класса может быть найдена здесь
Мои ответы:
- Он вообще не отображается, если hide() вызывается меньше 0,5 с после show(), и он показывает не менее 0,5 с, это предотвращает очень быстрый мерцающий материал, который вы можете увидеть с "наивными" реализациями.
- Да
- Я думаю, что это обычный случай стилизации
ProgressBar