[Flutter] ProgressIndicatorって何?

Flutterには、ユーザーが操作を待つ必要がある場合に便利なProgressIndicatorというウィジェットがあります。このウィジェットは、アニメーションを使用して、進捗状況を視覚的に示すことができます。

Flutterには、2つの主要なProgressIndicatorがあります。CircularProgressIndicatorとLinearProgressIndicatorです。CircularProgressIndicatorは、円形のアニメーションで進捗状況を示し、LinearProgressIndicatorは、水平のバーで進捗状況を示します。

では、ProgressIndicatorの使い方を見ていきましょう。

目次

CircularProgressIndicator

以下のコードは、CircularProgressIndicatorを使用して、進捗状況を示す方法を示しています。

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'My App',
      home: MyCircularProgressIndicator(),
    );
  }
}

class MyCircularProgressIndicator extends StatefulWidget {
  @override
  _MyCircularProgressIndicatorState createState() =>
      _MyCircularProgressIndicatorState();
}

class _MyCircularProgressIndicatorState
    extends State<MyCircularProgressIndicator> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('CircularProgressIndicator'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            CircularProgressIndicator(),
            SizedBox(height: 20),
            Text('Now Loading'),
          ],
        ),
      ),
    );
  }
}

このコードでは、ScaffoldとColumnを使用して、中央にCircularProgressIndicatorとテキストを表示します。SizedBoxを使用して、テキストとProgressIndicatorの間にスペースを追加します。これにより、進捗状況を示す円形のアニメーションが中央に表示されます。

LinearProgressIndicator

以下のコードは、LinearProgressIndicatorを使用して、進捗状況を示す方法を示しています。

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'My App',
      home: MyLinearProgressIndicator(),
    );
  }
}

class MyLinearProgressIndicator extends StatefulWidget {
  @override
  _MyLinearProgressIndicatorState createState() =>
      _MyLinearProgressIndicatorState();
}

class _MyLinearProgressIndicatorState extends State<MyLinearProgressIndicator> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('LinearProgressIndicator'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            LinearProgressIndicator(),
            SizedBox(height: 20),
            Text('Now Loading'),
          ],
        ),
      ),
    );
  }
}

このコードでは、ScaffoldとColumnを使用して、中央にLinearProgressIndicatorとテキストを表示します。SizedBoxを使用して、テキストとProgressIndicatorの間にスペースを追加します。これにより、進捗状況を示す水平バーが中央に表示されます。

まとめ

以上が、FlutterでProgressIndicatorを使う方法の例です。これらのウィジェットは、アプリで重要なタスクが実行されている間にユーザーに視覚的なフィードバックを提供するのに役立ちます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次