[flutter] Swipeable Widget을 활용한 페이지 이동 기능 구현하기

웹이나 앱에서 스와이프 제스쳐를 사용하여 페이지를 이동하는 기능은 사용자들에게 직관적이고 쾌적한 사용자 경험을 제공합니다. Flutter 앱에서 Swipeable Widget을 활용하여 이러한 기능을 구현하는 방법을 알아보겠습니다.

1. Swipeable Widget 이란?

Swipeable Widget은 사용자가 스와이프 동작으로 상호작용할 수 있는 위젯입니다. 이를 통해 사용자는 화면의 특정 부분을 빠르게 스와이프하여 페이지 이동 또는 다양한 기능을 수행할 수 있습니다.

2. Flutter 앱에 Swipeable Widget 추가하기

Flutter에서 Swipeable Widget을 사용하기 위해서는 flutter_swipe_action_cell 라이브러리를 사용할 수 있습니다. 이 라이브러리를 통해 Swipeable Widget을 간편하게 추가할 수 있습니다.

먼저, pubspec.yaml 파일에 다음과 같이 라이브러리를 추가합니다.

dependencies:
  flutter_swipe_action_cell: ^1.1.0

그리고 해당 패키지를 설치하기 위해 터미널에서 다음 명령을 실행합니다.

flutter pub get

3. Swipeable Widget을 활용한 페이지 이동 기능 구현하기

다음은 Swipeable Widget을 활용하여 페이지 이동 기능을 구현하는 간단한 예시 코드입니다. 이 코드는 Swipeable Widget을 사용하여 사용자가 항목을 스와이프하면 해당 항목에 연결된 페이지로 이동하는 기능을 구현한 것입니다.

import 'package:flutter/material.dart';
import 'package:flutter_swipe_action_cell/flutter_swipe_action_cell.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 SwipeActionCell(
              key: ObjectKey(index),
              performsFirstActionWithFullSwipe: true,
              trailingActions: <SwipeAction>[
                SwipeAction(
                  title: "이동",
                  onTap: () {
                    // 페이지 이동 로직 구현
                  },
                ),
              ],
              child: ListTile(
                title: Text('항목 $index'),
              ),
            );
          },
        ),
      ),
    );
  }
}

위 코드에서는 flutter_swipe_action_cell 라이브러리를 사용하여 Swipeable Widget을 구현하고, 사용자가 스와이프하면 해당 항목에 연결된 페이지로 이동하는 기능을 구현했습니다.

이렇게 Swipeable Widget을 활용하여 페이지 이동 기능을 구현할 수 있습니다.

마무리

위에서 안내한 방법을 참고하여 Flutter 앱에서 Swipeable Widget을 사용하여 페이지 이동 기능을 구현해 보세요. 사용자 친화적인 제스처 기반의 상호작용은 앱의 사용성을 향상시키고, 사용자들에게 즐거운 경험을 제공할 수 있습니다.

[참고 자료]