Androidの開発者サイトを調べていたところ、ContentLoadingProgressBarという名前のクラスが見つかりました。このクラスを見ると、頭の中にいくつかの質問が浮かび上がります。
ProgressBar
とContentLoadingProgressbar
の違いは何ですか?要件に応じてこのプログレスバーを表示/非表示できますか?
このprogressBarをカスタムスタイルにするにはどうすればよいですか?
Advanceにご協力いただきありがとうございます。誰かがコードと例を使用してそれを説明してくれるとすばらしいでしょう。ありがとうございました。
ここに私の答えがあります!
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
docs によると:
ContentLoadingProgressBarは、表示される前に最小時間待機されるProgressBarを実装します。表示されると、イベントが完了するまでに大幅に可変の時間がかかる場合にUIの「フラッシュ」を回避するために、プログレスバーが最小限の時間表示されます(なしから、ユーザーが知覚できる量まで)
これは、通常のProgressBar
と違いがないことを明確に示しています。さらに、これは正確なUIの調整です。すなわち、hide()
の実行後にshow()
が_0.5s
_未満で呼び出された場合、ContentLoadingProgressBar
は表示されないので、UI
。それが役に立てば幸い。
500ms未満または5秒以上かかるバックグラウンド操作のProgressBarを表示するとします。
progressBar.show()
を呼び出してから、バックグラウンド操作を開始します。バックグラウンド操作が500ミリ秒以内に終了した場合。次に、progressBar.hide()
を呼び出します
これで、進行状況バーのちらつきが数秒以内に表示および非表示になります。
ContentLoadingProgressBarの紹介:
このプログレスバーを使用すると、プログレスダイアログを表示する前に最小時間待機します。つまり、show()
呼び出しからhide()
呼び出しまでの時間がその最小時間より短い場合、ユーザーに表示されるダイアログはありません。