반응형
showModalBottomSheet()은 플러터에서 화면 아래에서 위로 올라오는 시트 형태의 팝업을 생성하는 데 사용하는 함수입니다.
간단한 알림 표시부터 사용자 입력을 받는 복잡한 작업까지 다양한 용도로 활용할 수 있는 유용한 위젯입니다.
이 블로그 글에서는 showModalBottomSheet() 위젯의 사용법과 주요 옵션들을 자세히 살펴보겠습니다.
1. 기본 사용법
showModalBottomSheet() 함수를 사용하려면 다음과 같은 두 가지 매개변수를 전달해야 합니다.
- context: 위젯을 호출하는 BuildContext 객체
- builder: 바텀 시트의 내용을 정의하는 함수
showModalBottomSheet(
context: context,
builder: (context) => Container(
height: 200,
color: Colors.grey,
child: Center(
child: Text('바텀 시트 내용'),
),
),
);
위 예시에서는 간단하게 Container 위젯을 사용하여 회색 배경과 가운데 정렬된 텍스트를 가진 바텀 시트를 만들었습니다.
2. 주요 옵션
showModalBottomSheet() 함수에는 다양한 옵션을 설정하여 바텀 시트의 모양과 동작을 원하는 대로 조정할 수 있습니다.
- backgroundColor: 바텀 시트의 배경 색상을 지정합니다. 기본값은 Colors.transparent입니다.
- barrierColor: 바텀 시트 뒤에 표시되는 배경 색상을 지정합니다. 기본값은 Colors.black54입니다.
- elevation: 바텀 시트의 그림자 효과 높이를 지정합니다. 기본값은 4입니다.
- shape: 바텀 시트의 모양을 정의하는 ShapeBorder 객체를 지정합니다. 기본값은 RoundedRectangleBorder입니다.
- clipBehavior: 바텀 시트의 자르기 방식을 지정합니다. 기본값은 Clip.hardEdge입니다.
- constraints: 바텀 시트의 최대 크기를 지정합니다.
- isScrollControlled: 바텀 시트 내용이 스크롤 가능 여부를 지정합니다. 기본값은 false입니다.
- useRootNavigator: 바텀 시트를 표시할 네비게이터를 지정합니다. 기본값은 false입니다.
- isDismissible: 사용자가 바텀 시트를 터치하여 닫을 수 있는지 여부를 지정합니다. 기본값은 true입니다.
- enableDrag: 사용자가 바텀 시트를 드래그하여 닫을 수 있는지 여부를 지정합니다. 기본값은 true입니다.
- showDragHandle: 바텀 시트 상단에 드래그 영역을 표시할지 여부를 지정합니다. 기본값은 false입니다.
- useSafeArea: 바텀 시트가 안전 영역(SafeArea) 안에 표시될지 여부를 지정합니다. 기본값은 true입니다.
- routeSettings: 바텀 시트에 대한 라우트 설정을 지정합니다.
- transitionAnimationController: 바텀 시트 애니메이션을 제어하는 AnimationController 객체를 지정합니다.
- anchorPoint: 바텀 시트가 화면에 고정될 위치를 지정합니다.
3. 활용 예시
showModalBottomSheet() 위젯은 다양한 상황에서 활용될 수 있습니다. 몇 가지 예시를 살펴보겠습니다.
- 옵션 선택: 사용자에게 여러 옵션 중 하나를 선택하도록 하는 메뉴 표시
- 데이터 입력: 사용자로부터 입력값을 받는 입력 양식 표시
- 알림 표시: 중요한 정보나 오류 메시지를 사용자에게 알림
- 미리보기: 이미지나 텍스트 콘텐츠를 미리보기
4. 마무리
showModalBottomSheet() 위젯은 플러터에서 다양한 용도로 활용될 수 있는 유연하고 강력한 도구입니다. 위에서 소개한 기본 사용법과 옵션들을 활용하여 상황에 맞는 바텀 시트를 만들어 보세요.
더 궁금한 점이나 관련 내용이 있다면 언제든지 질문해주세요.
반응형
'Flutter > Flutter Programming' 카테고리의 다른 글
플러터에서 Dismissible 위젯 사용 방법과 옵션 (0) | 2024.07.11 |
---|---|
플러터에서 showModalBottomSheet를 키보드가 올라오면서 가리는 경우 해결방법 (0) | 2024.07.10 |
플러터 초보를 위한 Share 패키지 완전 가이드: 간편하게 공유하기 (0) | 2024.07.09 |
플러터 초보를 위한 Charts Flutter 완전 가이드: 아름다운 차트 만들기 (0) | 2024.07.09 |
플러터 초보를 위한 Path Provider패키지 완전 가이드: 앱 저장 공간 마스터하기 (0) | 2024.07.09 |