[flutter] FlatButton을 사용하여 검색 기능을 추가하는 방법은?

Flutter에서 검색 기능을 추가하는 방법은 다양합니다. 여러 방법 중 하나는 FlatButton을 사용하여 간단하게 검색 기능을 구현하는 것입니다.

1. 검색 버튼과 입력 필드 추가

먼저, 화면에 검색 버튼과 검색어를 입력할 수 있는 텍스트 필드를 추가합니다.

import 'package:flutter/material.dart';

class SearchPage extends StatefulWidget {
  @override
  _SearchPageState createState() => _SearchPageState();
}

class _SearchPageState extends State<SearchPage> {
  TextEditingController _searchController = TextEditingController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('검색'),
        actions: [
          IconButton(
            icon: Icon(Icons.search),
            onPressed: () {
              _performSearch(_searchController.text);
            },
          )
        ],
      ),
      body: Padding(
        padding: EdgeInsets.all(16.0),
        child: TextField(
          controller: _searchController,
          decoration: InputDecoration(
            labelText: '검색어를 입력하세요',
            border: OutlineInputBorder(),
          ),
        ),
      ),
    );
  }

  void _performSearch(String keyword) {
    // TODO: 검색 기능 구현
    print('검색어: $keyword');
  }
}

void main() {
  runApp(MaterialApp(
    home: SearchPage(),
  ));
}

위의 예시 코드는 SearchPage라는 StatefulWidget을 만들고, AppBar에 검색 버튼을 추가하고, 검색어를 입력할 수 있는 TextField를 추가한 것입니다.

2. 검색 기능 구현

검색 버튼을 누를 때, 입력된 검색어를 이용하여 실제 검색 기능을 구현할 수 있습니다. _performSearch 메소드에서 실제 검색 로직을 구현할 수 있습니다.

void _performSearch(String keyword) {
  // TODO: keyword를 이용한 검색 로직 구현
  print('검색어: $keyword');
  // 여기서부터 실제 검색 동작 수행
}

3. 검색 결과 표시

검색 결과를 화면에 표시하는 방법은 다양합니다. ListView나 GridView 등을 사용하여 검색 결과를 목록 형태로 표시할 수 있습니다.

마치며

위와 같이 간단하게 FlatButton을 사용하여 검색 기능을 추가할 수 있습니다. 검색 결과를 표시하고, 검색 동작을 수행하는 부분은 실제 서비스에 따라 다양하게 구현할 수 있습니다.

참고: Flutter 공식 문서 - FlatButton