[Flutter] LinearProgressIndicator でプログレッシブバーの作成

状態の進捗状況を示すために、プログレッシブバーが使われることがあります
FlutterではLinearProgressIndicatorを利用するとリニアな変化で進捗状況を表示できます

1x1.trans - [Flutter] LinearProgressIndicator でプログレッシブバーの作成




LinearProgressIndicator

 

LinearProgressIndicatorで67%を表示させるには
value に0.67 を設定すると簡単にできます

このような感じでできました
ただ、このままでは使いにくいです

1x1.trans - [Flutter] LinearProgressIndicator でプログレッシブバーの作成

SizedBox でラップすると見やすくなります

縦横 300 x 30 サイズの SizedBox に LinearProgressIndicator を入れるとこのようになり
プログレッシブバーらしくなりました

1x1.trans - [Flutter] LinearProgressIndicator でプログレッシブバーの作成

バーの色と背景色は、valueColorとbackgroundColorで設定できます

バーの色が変わりました
1x1.trans - [Flutter] LinearProgressIndicator でプログレッシブバーの作成

角丸にするためには、ClipRRectをかけて
borderRadius を設定するとできます

角丸のバーになりました
1x1.trans - [Flutter] LinearProgressIndicator でプログレッシブバーの作成

このままでは、進捗に応じてバーを増減させるダイナミックな動きができないので
value に変数を当てて、何らかの動きで、例えばネットのダウンロードの進捗や
カウント結果などを表示できるようにします

以降で、これらをまとめてみます

 

 

サンプルコード

 

動的な進捗を LinearProgressIndicator で表示させるサンプルコード
Timer を使ってバーを1秒毎に 0.01 づつ増加して 1.0 まで、100%まで継続させます

main.dart

 

実行結果

 

コードを実行させると
0から100%までバーが増加しました
(Restart: 再読み込み)
 

 

References:
LinearProgressIndicator class
SizedBox class
Timer class
ClipRRect class

シェアする

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

フォローする