【Flutter】プログレスバーにテキストで進捗表示(%表示)を追加する方法 | ヒヨコ プログラミング(ヒヨプロ)

【Flutter】プログレスバーにテキストで進捗表示(%表示)を追加する方法

Flutter

アプリの進捗状況を 視覚的に分かりやすく表示する ために、プログレスバーはよく使われます。しかし、単にバーが伸びるだけでは 今どのくらい進んでいるのか が直感的に分かりにくいこともあります。

そこで今回は、Flutterで プログレスバーに進捗を数値(%)で追加表示する 実装方法を紹介します。
具体的には、LinearProgressIndicator や CircularProgressIndicator を活用し、バーの中央にテキストで進捗率を表示する 方法を紹介します。

プログレスバーを もっと分かりやすく、使いやすくしたい 方はぜひ参考にしてみてください!

プログレスバーの基本

Flutter には、プログレスバーを表示するためウィジェットとして、LinearProgressIndicator と CircularProgressIndicator の2種類が用意されています。

基本的な使い方やデザイン変更方法については、以下の記事で詳しく紹介していますのでご参照ください。

進捗(%)表示を追加した ProgressIndicator の実装方法

基本構成としては、Stack を使用してプログレスバーの上にテキストを重ねるようにしています。

LinearProgressIndicator

LinearProgressIndicator の中央に進捗表示を追加した実装例が以下となります。

Stack(
  alignment: Alignment.center,
  children: [
    LinearProgressIndicator(
      value: value,
      minHeight: 30,
      backgroundColor: Colors.blue,
      valueColor: const AlwaysStoppedAnimation(Colors.indigo),
    ),
    Text(
      "${(value * 100).toStringAsFixed(0)}%",
      style: const TextStyle(
        fontSize: 18,
        fontWeight: FontWeight.bold,
        color: Colors.white,
      ),
    ),
  ],
),

実行結果は、以下のようになります。

%表示付きLinearProgressIndicator

CircularProgressIndicator

CircularProgressIndicator の中央に進捗表示を追加した実装例が以下となります。

Stack(
  alignment: Alignment.center,
  children: [
    SizedBox(
      width: 100,
      height: 100,
      child: CircularProgressIndicator(
        value: value,
        valueColor: const AlwaysStoppedAnimation(Colors.orange),
        backgroundColor: Colors.yellow,
        strokeWidth: 20,
      ),
    ),
    Text(
      "${(value * 100).toStringAsFixed(0)}%",
      style: const TextStyle(
        fontSize: 18,
        fontWeight: FontWeight.bold,
      ),
    ),
  ],
),

実行結果は、以下のようになります。

%表示付きCircularProgressIndicator

まとめ

Flutter でプログレスバーに進捗(%)を表示する方法について紹介しました!

  • Stack を使用してプログレスバーの上にテキストを重ねることで進捗表示可能

以上で、【Flutter】プログレスバーにテキストで進捗表示(%表示)を追加する方法 は終わりです。

おすすめ書籍

コメント

タイトルとURLをコピーしました