[flutter] Swipeable Widget을 활용한 키보드 숨기기 기능 구현 방법

이 기사에서는 Flutter 앱에서 Swipeable Widget을 사용하여 키보드를 숨기는 방법에 대해 알아볼 것입니다.

1. Swipeable Widget이란?

Swipeable Widget은 사용자가 화면을 swipe하여 인터랙션을 수행할 때 유용한 기능을 제공하는 Flutter 패키지입니다. 특히 Swipeable Widget은 터치 동작을 구현하는 데 유용하며, 이를 활용하여 키보드 숨기기 등의 기능을 구현할 수 있습니다.

2. 키보드 숨기기 기능 구현 방법

2.1 Swipeable Widget 설치

먼저, flutter_swipe_action 패키지를 사용하여 Swipeable Widget을 설치합니다. pubspec.yaml 파일에 아래와 같이 패키지를 추가합니다.

dependencies:
  flutter_swipe_action: ^0.2.2

그리고 다음 명령어를 사용하여 패키지를 설치합니다.

flutter pub get

2.2 Swipeable Widget을 활용한 키보드 숨기기 기능 구현

다음으로, Swipeable Widget을 사용하여 키보드 숨기기 기능을 구현합니다. 이를 위해 아래와 같은 코드를 작성할 수 있습니다.

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_swipe_action/flutter_swipe_action.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  final TextEditingController _textEditingController = TextEditingController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Swipeable Keyboard Hider'),
      ),
      body: SwipeAction(
        child: TextFormField(
          controller: _textEditingController,
          decoration: InputDecoration(
            labelText: 'Enter Text',
          ),
          onTap: () {
            // 텍스트 필드를 탭할 때 키보드가 숨겨지도록 설정
            SystemChannels.textInput.invokeMethod('TextInput.hide');
          },
        ),
      ),
    );
  }
}

이 코드는 flutter_swipe_action 패키지를 사용하여 Swipeable Widget을 추가하고, 키보드가 나타날 때 TextFormField을 탭하면 키보드가 숨겨지도록 설정합니다.

3. 결론

이렇게하면 Swipeable Widget을 사용하여 Flutter 앱에서 키보드 숨기기 기능을 구현할 수 있습니다. Swipeable Widget을 활용하면 사용자 경험을 향상시키는 다양한 인터랙티브 기능을 추가할 수 있습니다.

Reference