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

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


Android Studio
2021.1.1

 




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で試してみます。
LinearLayoutでやってみました。
activity_main.xml


 

 

Themeからのstyle

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


 
1x1.trans - [Android & Kotlin] ProgressBar で進捗状況を表示する


 
これは Theme.AppCompat.Light.DarkActionBar をThemeとして設定している場合です。なのでThemeをカスタマイズすると変更できるところもあります。
また 「?android… 」としないと呼び出されません


またBarの色設定は ..\res\values\themes\themes.xml にあるcolorの設定でできます。

 

VISIBLE と INVISIBLE

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


 
まとめると
MainActivity.kt


 
ConstraintLayoutに変更してみました。
activity_main.xml


 
strings.xml


 
build.gradle


 
これでProgressbarをボタンをタップして非表示・表示ができました。
 

 

ProgressBar.Horizontal

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


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


 
activity_main.xml


 
strings.xml


 
build.gradle


 

 
これを使って例えばネットからのデータダウンロードの進捗を表示することなどができます。
 
 
Reference:
ProgressBar | Android Developers

シェアする

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

フォローする