본문 바로가기
Flutter/Package

플러터 패키지 adaptive_dialog 2.3.0 사용법: 다양한 다이얼로그 쉽게 구현하기

by Maccrey Coding 2024. 12. 3.
728x90
반응형

Flutter로 앱을 개발하다 보면 사용자와의 상호작용을 위한 다이얼로그(Dialog)를 자주 사용하게 됩니다.

하지만 기본 제공되는 다이얼로그는 커스터마이징하기 어렵고, 여러 플랫폼(Android/iOS)에 맞춘 디자인을 구현하려면 번거로운 작업이 필요합니다.

이 문제를 해결하기 위해 adaptive_dialog 패키지가 유용합니다.

이번 글에서는 adaptive_dialog 2.3.0 패키지를 설치하고 사용하는 방법을 단계별로 알아보겠습니다.

1. adaptive_dialog란?

adaptive_dialog는 Flutter에서 다양한 다이얼로그(알림창, 옵션 선택창, 텍스트 입력창 등)를 쉽게 구현할 수 있도록 도와주는 패키지입니다.

플랫폼(Android/iOS)에 맞는 네이티브 스타일의 다이얼로그를 자동으로 생성하며, 커스터마이징 기능도 제공합니다.

2. 설치 방법

1. pubspec.yaml 파일에 패키지 추가

dependencies:
  adaptive_dialog: ^2.3.0

 

2. 설치 명령 실행

flutter pub get

설치가 완료되면 이제 본격적으로 사용해 봅시다.

3. 주요 기능 및 사용법

1) 기본 알림창 (Alert Dialog)

알림창은 사용자가 정보를 확인하거나 간단한 선택을 해야 할 때 유용합니다.

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

void showAlert(BuildContext context) async {
  final result = await showOkCancelAlertDialog(
    context: context,
    title: '알림',
    message: '이 작업을 진행하시겠습니까?',
    okLabel: '확인',
    cancelLabel: '취소',
  );

  if (result == OkCancelResult.ok) {
    print('확인 버튼 클릭');
  } else {
    print('취소 버튼 클릭');
  }
}

 

  • showOkCancelAlertDialog: 확인/취소 버튼이 있는 기본 알림창을 표시합니다.
  • OkCancelResult: 사용자가 선택한 결과를 반환합니다.

2) 옵션 선택창 (Selection Dialog)

사용자가 여러 옵션 중 하나를 선택해야 할 때 사용합니다.

import 'package:adaptive_dialog/adaptive_dialog.dart';

void showSelectionDialog(BuildContext context) async {
  final result = await showConfirmationDialog<String>(
    context: context,
    title: '옵션 선택',
    message: '원하는 옵션을 선택하세요:',
    actions: ['옵션 1', '옵션 2', '옵션 3'],
  );

  if (result != null) {
    print('선택한 옵션: $result');
  }
}

 

 

  • showConfirmationDialog: 여러 옵션을 제공하고 사용자가 하나를 선택하도록 합니다.
  • actions: 선택 가능한 옵션 리스트를 제공합니다.

3) 텍스트 입력창 (Text Input Dialog)

사용자로부터 입력을 받을 때 유용합니다.

import 'package:adaptive_dialog/adaptive_dialog.dart';

void showInputDialog(BuildContext context) async {
  final result = await showTextInputDialog(
    context: context,
    title: '입력창',
    message: '이름을 입력하세요:',
    okLabel: '확인',
    cancelLabel: '취소',
  );

  if (result != null && result.isNotEmpty) {
    print('입력한 값: ${result.first}');
  }
}

 

 

  • showTextInputDialog: 텍스트 입력을 받을 수 있는 다이얼로그를 표시합니다.
  • result: 사용자가 입력한 값을 리스트 형태로 반환합니다.

4) 플랫폼 스타일 자동 적용

adaptive_dialog는 플랫폼에 따라 다이얼로그 스타일을 자동으로 변경합니다.

  • iOS: Cupertino 스타일 사용
  • Android: Material 스타일 사용

따라서 추가적인 작업 없이 플랫폼에 맞는 네이티브 스타일의 다이얼로그를 사용할 수 있습니다.

4) 플랫폼 스타일 자동 적용

adaptive_dialog는 플랫폼에 따라 다이얼로그 스타일을 자동으로 변경합니다.

  • iOS: Cupertino 스타일 사용
  • Android: Material 스타일 사용

따라서 추가적인 작업 없이 플랫폼에 맞는 네이티브 스타일의 다이얼로그를 사용할 수 있습니다.

final result = await showOkCancelAlertDialog(
  context: context,
  title: '알림',
  message: '색상을 커스터마이징한 다이얼로그입니다.',
  okLabel: '확인',
  cancelLabel: '취소',
  style: AdaptiveStyle.material,
);

 

2) 텍스트 입력 기본값 제공

final result = await showTextInputDialog(
  context: context,
  title: '입력창',
  message: '기본값이 있는 입력창 예제',
  okLabel: '확인',
  cancelLabel: '취소',
  textFields: [
    DialogTextField(initialText: '기본값 입력'),
  ],
);

 

adaptive_dialog 2.3.0 패키지는 Flutter에서 다이얼로그를 쉽고 효율적으로 구현할 수 있는 강력한 도구입니다. 플랫폼 스타일을 자동으로 적용하며, 다양한 다이얼로그 유형을 지원해 개발 시간을 단축시킬 수 있습니다.

핵심 요약

  • 설치: flutter pub add adaptive_dialog
  • 알림창: showOkCancelAlertDialog
  • 옵션 선택: showConfirmationDialog
  • 텍스트 입력: showTextInputDialog

이 패키지를 사용하면 다이얼로그 구현이 훨씬 간편해지며, Flutter 앱의 사용자 경험을 한 단계 업그레이드할 수 있습니다. 더 많은 기능은 공식 문서를 참고하세요!

 

구독!! 공감과 댓글,

광고 클릭은 저에게 큰 힘이 됩니다.

 

Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

 

 

728x90
반응형