[Android & Kotlin] ProgressBar で進捗状況を表示する

ネット接続でデータをダウンロードには時間がかかることもあります。ロード中であることをユーザーに知らせることでユーザビリティが上がります。ProgressBar使うとダウンロードが何パーセントと簡単に表示できます。
 
progressbar 01b - [Android & Kotlin] ProgressBar で進捗状況を表示する

Android Studio 3.1.4
API 28
Kotlin 1.2.61

 



ProgressBar

 
ProgressBarはいくつかのstyleがあり、またコードを書かなくてもレイアウトで設定するだけで動きます。

  • Widget.ProgressBar.Horizontal
  • Widget.ProgressBar.Small
  • Widget.ProgressBar.Large
  • Widget.ProgressBar.Inverse
  • Widget.ProgressBar.Small.Inverse
  • Widget.ProgressBar.Large.Inverse

これらのstyleがあります。
 

 

Widget.ProgressBar

 
例えば、4つのstyleで試してみます。
activity_main.xml

 

 

Themeからのstyle

 
また、古い情報ではThemeのstyleを使うこともできるようです。
 
activity_main.xml

 
progressbar 02 - [Android & Kotlin] ProgressBar で進捗状況を表示する
 
これは Theme.AppCompat.Light.DarkActionBar をThemeとして設定している場合です。
また 「?android… 」としないと呼び出されません

 
Themeを変えるとどうなるのでしょうか、全画面に使うThemeの @android:style/Theme.NoTitleBar を設定してみるとこのようになりました。
 
progressbar 01b - [Android & Kotlin] ProgressBar で進捗状況を表示する

 

VISIBLE と INVISIBLE

 
例えば、ロードが始まったらProgressBarを表示させておき、終わりがわからない場合は進捗が表示できないのでそのままくるくる回転させておき、終わった時に非表示にすればいいのではないでしょうか。
 
表示・非表示はこれらを使います。

 
まとめると
MainActivity.kt

 
activity_main.xml

 
strings.xml

 

ProgressBar.Horizontal

 
一方で、進捗がわかる場合もあります。ProgressBar.Horizontalを使うとそのprogressをユーザーに提示できます。
 
レイアウトでindeterminateをfalseにする必要があります。
 

 
ボタンタップで10づつ増加して100まで Horizontal ProgressBar で表示するコードを書いてみます。
MainActivity.kt

 
activity_main.xml

 
strings.xml

 

 
これを使って進捗を表示することができます。
 
 
Reference:
ProgressBar | Android Developers

誤字脱字、意味不明で分からにゃイ、
などのご意見はこちらから mailフォーム

ブックマークしておくと便利です このエントリーをはてなブックマークに追加


 


ページのトップへ戻る




シェアする

  • このエントリーをはてなブックマークに追加

フォローする