Практическое использование ContentLoadingProgressBar

Я проходил через сайт разработчика android, и я нашел класс с именем ContentLoadingProgressBar. Увидев этот класс, я задаю себе несколько вопросов. Было бы здорово, если бы кто-нибудь ответил на мои вопросы.

  1. в чем разница между нормальным ProgressBar и ContentLoadingProgressbar?
  2. каково практическое использование ContentLoadingProgressBar?
  3. можем мы показать / спрятать это progressbar согласно нашему требование?

  4. Как я могу настроить этот progressBar?

Спасибо за вашу помощь заранее. Было бы здорово, если бы кто-то объяснил это с помощью кодов и примеров. Спасибо.

3 ответов


вот мои ответы!

в чем разница между нормальным ProgressBar и ContentLoadingProgressbar?

ContentLoadingProgressbar ожидает минимальное время, чтобы быть уволены, прежде чем показывать с помощью hide() как с-в 0.5 секундах.Так что даже show() вызывается, это может быть уволен прежде, чем он появится на экране.

каково практическое использование ContentLoadingProgressBar

это предотвращает очень быстро мерцающий материал, который вы можете увидеть с "наивными" реализациями.

можем мы показать / спрятать это progressbar согласно нашему требованию

да

как я могу пользовательский стиль этот progressBar

<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:theme https://stackoverflow.com/a/38282149/5188159


предположим, вы хотите показать ProgressBar для некоторой фоновой операции, которая может занять

  1. вы вызываете progressBar.шоу.)( Вы начинаете фоновую операцию.
  2. Если ваша деятельность предпосылки сверх в пределах 500ms. Затем вы вызываете progressBar.hide ()

    теперь пользователь увидит мерцание индикатора выполнения появляется и исчезает в течение доли секунды второй.

вводим ContentLoadingProgressBar:

при использовании этого progressbar, то он будет ждать в течение минимального времени, прежде чем показывать диалог прогресса. Это означает, что если время между вызовом show() и вызовом hide() меньше этого минимального времени, то не будет никакого диалога, который будет показан пользователю.


по словам docs :

ContentLoadingProgressBar реализует ProgressBar, который ожидает минимальное время, чтобы быть уволены перед отображением. Как только он будет виден, индикатор выполнения будет виден в течение минимального времени, чтобы избежать "вспышек" в пользовательском интерфейсе, когда событие может занять в значительной степени переменное время (от none до воспринимаемого пользователем количества)

это явно упоминает его не отличается от обычного ProgressBar . Кроме того, это настройка пользовательского интерфейса, чтобы быть точным. т. е. ContentLoadingProgressBar не появится, если hide() называется по-меньше!--3--> после выполнения show(), таким образом предотвращающ от быстрый мелькать в UI . Надеюсь, это поможет.