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

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

Android Studio 4.1.3
API 30

 




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… 」としないと呼び出されません

 

VISIBLE と INVISIBLE

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

 
まとめると
MainActivity.kt

 
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




 

アプリ開発が上達するお勧め

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンラインのプログラミングスクールがいいでしょう。


TECH ACADEMY
Androidアプリコース



Code Camp
現役エンジニアによるオンラインプログラミングスクール【CodeCamp】


直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。


侍エンジニア塾
侍エンジニア塾 無料体験レッスン


シェアする

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

フォローする