[flutter] 플러터에서 CircularProgressIndicator를 사용하여 데이터 송수신 상태를 표시하는 방법은 무엇인가?

다음은 CircularProgressIndicator를 사용하여 데이터 송수신 상태를 표시하는 간단한 예시입니다.

import 'package:flutter/material.dart';

class MyDataScreen extends StatefulWidget {
  @override
  _MyDataScreenState createState() => _MyDataScreenState();
}

class _MyDataScreenState extends State<MyDataScreen> {
  bool _isLoading = false; // 데이터 로딩 상태

  Future<void> _getData() async {
    setState(() {
      _isLoading = true; // 데이터 로딩 시작
    });

    // 여기에 데이터를 가져오는 비동기 처리 로직 작성

    setState(() {
      _isLoading = false; // 데이터 로딩 완료
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('데이터 화면'),
      ),
      body: Center(
        child: _isLoading
            ? CircularProgressIndicator() // 데이터 로딩 중인 경우, CircularProgressIndicator 표시
            : RaisedButton(
                onPressed: _getData,
                child: Text('데이터 불러오기'),
              ),
      ),
    );
  }
}

위 코드는 데이터를 가져오는 동안 CircularProgressIndicator를 표시하는 방법을 보여줍니다. _isLoading 변수를 사용하여 데이터가 로딩되고 있는지에 대한 상태를 관리하고, 데이터를 가져오는 비동기 처리 로직 안에서 상태를 변경합니다.

플러터에서 CircularProgressIndicator를 커스터마이징하여 애니메이션과 색상을 변경하는 등 다양한 방법으로 활용할 수 있습니다. 자세한 내용은 공식 문서를 참고하시기 바랍니다.