web-dev-qa-db-ja.com

ContentLoadingProgressBarの実用的な使用法

Androidの開発者サイトを調べていたところ、ContentLoadingProgressBarという名前のクラスが見つかりました。このクラスを見ると、頭の中にいくつかの質問が浮かび上がります。

  1. Normal ProgressBarContentLoadingProgressbarの違いは何ですか?
  2. ContentLoadingProgressBarの実際の使用法は何ですか?
  3. 要件に応じてこのプログレスバーを表示/非表示できますか?

  4. このprogressBarをカスタムスタイルにするにはどうすればよいですか?

Advanceにご協力いただきありがとうございます。誰かがコードと例を使用してそれを説明してくれるとすばらしいでしょう。ありがとうございました。

34
swetabh suman

ここに私の答えがあります!

Normal ProgressBarとContentLoadingProgressbarの違いは何ですか?

ContentLoadingProgressbarは、0.5秒以内にhide()を使用して表示する前に、最小時間待機します。したがって、show()が呼び出されても、これが表示される前に終了できます。スクリーン。

ContentLoadingProgressBarの実際の使用法は何ですか

「単純な」実装で見られるような非常に高速なちらつきを防ぎます。

要件に従ってこのプログレスバーを表示/非表示できますか

はい

この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

42
Charuක

docs によると:

ContentLoadingProgressBarは、表示される前に最小時間待機されるProgressBarを実装します。表示されると、イベントが完了するまでに大幅に可変の時間がかかる場合にUIの「フラッシュ」を回避するために、プログレスバーが最小限の時間表示されます(なしから、ユーザーが知覚できる量まで)

これは、通常のProgressBarと違いがないことを明確に示しています。さらに、これは正確なUIの調整です。すなわち、hide()の実行後にshow()が_0.5s_未満で呼び出された場合、ContentLoadingProgressBarは表示されないので、UI。それが役に立てば幸い。

9
OBX

500ms未満または5秒以上かかるバックグラウンド操作のProgressBarを表示するとします。

  1. progressBar.show()を呼び出してから、バックグラウンド操作を開始します。
  2. バックグラウンド操作が500ミリ秒以内に終了した場合。次に、progressBar.hide()を呼び出します

    これで、進行状況バーのちらつきが数秒以内に表示および非表示になります。

ContentLoadingProgressBarの紹介:

このプログレスバーを使用すると、プログレスダイアログを表示する前に最小時間待機します。つまり、show()呼び出しからhide()呼び出しまでの時間がその最小時間より短い場合、ユーザーに表示されるダイアログはありません。

6
amalBit