[flutter] BottomSheet와 함께 사용하는 클립보드 복사하기

하이라이트를 공유하거나 사용자가 편하게 복사할 수 있도록 클립보드에 복사하는 기능을 구현하는 것은 앱의 사용성을 향상시킬 수 있는 중요한 기능 중 하나입니다. 이번 블로그에서는 FlutterBottomSheet를 이용하여 하이라이트를 복사하는 기능을 구현하는 방법에 대해 알아보겠습니다.

BottomSheet

먼저 BottomSheet를 생성하여 하이라이트를 복사하는 기능을 추가하는 방법에 대해 설명하겠습니다.

showModalBottomSheet(
  context: context,
  builder: (BuildContext context) {
    return Container(
      child: Column(
        mainAxisSize: MainAxisSize.min,
        children: <Widget>[
          ListTile(
            leading: Icon(Icons.content_copy),
            title: Text('Copy'),
            onTap: () {
              _copyToClipboard();
              Navigator.pop(context);
            },
          ),
        ],
      ),
    );
  },
);

위의 코드에서, showModalBottomSheet 함수를 사용하여 BottomSheet를 표시하고, 내부에 ListTile 위젯을 이용하여 복사 기능을 추가하였습니다.

클립보드에 복사

하이라이트를 복사하는 기능은 Flutterflutter/services 패키지의 Clipboard 클래스를 사용하여 간단하게 구현할 수 있습니다.

void _copyToClipboard() {
  Clipboard.setData(ClipboardData(text: 'Your highlighted text'));
  // 클립보드에 복사되었습니다. 스낵바 또는 다른 피드백을 제공할 수 있습니다.
}

위의 코드에서, _copyToClipboard 함수에서 Clipboard 클래스의 setData 메서드를 이용하여 클립보드에 텍스트를 복사합니다.

결론

BottomSheet를 이용하여 사용자가 편리하게 하이라이트를 복사할 수 있도록 기능을 추가하는 것은 앱의 사용성을 향상시킬 수 있는 중요한 요소입니다. FlutterBottomSheetClipboard 클래스를 이용하여 간단하게 이 기능을 구현할 수 있습니다.

감사합니다.