[Flutter] CircularProgressIndicator 円形プログレッシブの作成

LinearProgressIndicatorではプログレッシブバーで進捗状況を表示できましたが
円弧で進捗を示せるのが、CircularProgressIndicator です

1x1.trans - [Flutter] CircularProgressIndicator 円形プログレッシブの作成




CircularProgressIndicator

 

CircularProgressIndicator を簡単に作成するとこのようになります
ここでvalueをnullにすると無限に回転します

ダウンロードが継続しているがどこまでか推測できない場合に
継続している事を知らせるのに使えます

回転アニメーションが継続しています

1x1.trans - [Flutter] CircularProgressIndicator 円形プログレッシブの作成

67%を表示させるには value に0.67 を設定

固定されたポジションです

1x1.trans - [Flutter] CircularProgressIndicator 円形プログレッシブの作成

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

縦横 200 x 200 サイズの SizedBox に CircularProgressIndicator を入れ大きさを調整できます
尚、サイズを200×100のような長方形にすると楕円になります

1x1.trans - [Flutter] CircularProgressIndicator 円形プログレッシブの作成

色と背景色は、valueColor と backgroundColor で設定
strokeWidth で太さを調整できます

多少太くなって、色が変わりました
1x1.trans - [Flutter] CircularProgressIndicator 円形プログレッシブの作成

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

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

 

 

サンプルコード

 

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

main.dart

 

実行結果

 

コードを実行させると
0から10secまでのタイマーができました
(Restart: 再読み込み)

 

 
 

References:
CircularProgressIndicator class
SizedBox class
Timer class

シェアする

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

フォローする