[flutter] 플러터 ProgressIndicator를 사용하여 도서 검색 진행 상태를 표시하는 방법은?
도서 검색 앱을 개발할 때, 사용자가 검색을 요청한 후에 진행 상태를 시각적으로 표시해 주는 것이 중요합니다. 플러터에서는 ProgressIndicator 위젯을 사용하여 진행 상태를 표시할 수 있습니다.
1. CircularProgressIndicator 사용하기
import 'package:flutter/material.dart';
class BookSearchScreen extends StatefulWidget {
@override
_BookSearchScreenState createState() => _BookSearchScreenState();
}
class _BookSearchScreenState extends State<BookSearchScreen> {
bool _isLoading = false;
// 검색 버튼을 눌렀을 때 실행되는 함수
void _onSearchPressed() {
// 검색 상태를 로딩 중으로 변경
setState(() {
_isLoading = true;
});
// 여기서 실제 검색 로직을 수행
// 검색이 완료되면 로딩 상태를 false로 변경
setState(() {
_isLoading = false;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('도서 검색'),
),
body: Center(
child: _isLoading
? CircularProgressIndicator() // 로딩 중일 때는 CircularProgressIndicator를 보여줌
: Text('검색 결과 표시'), // 로딩 중이 아닐 때는 검색 결과를 보여줌
),
floatingActionButton: FloatingActionButton(
onPressed: _onSearchPressed,
tooltip: '검색',
child: Icon(Icons.search),
),
);
}
}
위 예제에서는 CircularProgressIndicator를 사용하여 검색이 진행 중일 때 로딩 상태를 표시하는 방법을 보여줍니다. 실제 검색 로직은 주석으로 처리되어 있으므로 원하는 검색 기능을 구현하고 검색이 완료된 후에 _isLoading
상태를 변경하여 로딩 표시를 제거해 주면 됩니다.
플러터 앱 개발 시에는 사용자 경험을 고려하여 적절한 시점에 로딩 상태를 표시하고 해제하는 것이 중요합니다.