[flutter] Swipeable Widget을 사용하여 사이드 메뉴 기능 구현하기

1. flutter_slidable 패키지 추가하기

먼저, flutter_slidable 패키지를 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 아래와 같이 패키지를 추가하세요.

dependencies:
  flutter_slidable: ^0.6.0

그리고 패키지를 설치하기 위해 터미널에서 아래 명령어를 실행하세요.

flutter pub get

2. Swipeable Widget을 사용하여 사이드 메뉴 구현하기

이제 flutter_slidable 패키지를 사용하여 사이드 메뉴를 구현해 봅시다. 아래는 간단한 예제 코드입니다.

import 'package:flutter/material.dart';
import 'package:flutter_slidable/flutter_slidable.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Swipeable Widget 예제'),
        ),
        body: ListView.builder(
          itemCount: 10,
          itemBuilder: (context, index) {
            return Slidable(
              actionPane: SlidableDrawerActionPane(),
              actionExtentRatio: 0.25,
              child: ListTile(
                title: Text('아이템 $index'),
              ),
              actions: <Widget>[
                IconSlideAction(
                  caption: '아이템 $index 편집',
                  color: Colors.blue,
                  icon: Icons.edit,
                  onTap: () => print('아이템 $index 편집'),
                ),
              ],
              secondaryActions: <Widget>[
                IconSlideAction(
                  caption: '아이템 $index 삭제',
                  color: Colors.red,
                  icon: Icons.delete,
                  onTap: () => print('아이템 $index 삭제'),
                ),
              ],
            );
          },
        ),
      ),
    );
  }
}

위 예제 코드에서는 flutter_slidable 패키지를 사용하여 ListView의 각 항목마다 사이드 메뉴를 추가했습니다. 사용자가 리스트 아이템을 왼쪽으로 스와이프하면 편집 및 삭제 기능이 나타나게 됩니다.

이제 위 예제 코드를 실행해보세요. 손가락으로 리스트 항목을 스와이프하여 사이드 메뉴가 나타나는 것을 확인할 수 있을 것입니다.

flutter_slidable 패키지를 사용하여 간단하게 Swipeable Widget을 통해 사이드 메뉴 기능을 구현할 수 있는 것을 확인할 수 있었습니다. 더 복잡한 UI 요구사항이 있을 때도 flutter_slidable 패키지를 사용하여 손쉽게 구현할 수 있을 것입니다.

참고 자료