[flutter] BottomSheet 외부 탭을 터치해도 사라지지 않게 하는 방법
BottomSheet 위젯은 화면 하단에 나타나는 모달 시트를 구현할 때 사용됩니다. 기본적으로 BottomSheet 외부를 터치하면 BottomSheet가 사라지도록 구현되어 있습니다. 그러나 BottomSheet 외부를 터치했을 때 사라지지 않게 설정하려면 다음과 같이 해야 합니다.
1. Persistent BottomSheet 구현
먼저 showBottomSheet
메서드 대신 showBottomSheet
메서드의 리턴값으로 반환되는 PersistentBottomSheetController
를 사용하여 BottomSheet를 구현합니다.
PersistentBottomSheetController controller = scaffoldKey.currentState.showBottomSheet((context) {
return Container(
height: 200,
color: Colors.red,
);
});
2. 외부 터치 무시 설정
controller
변수에 접근하여 외부 터치를 무시하는 설정을 추가합니다.
controller?.isLocalDrag = false;
위와 같이 설정을 추가하면 BottomSheet 외부를 터치했을 때 사라지지 않고 유지됩니다.
이제 여러분은 flutter에서 BottomSheet 외부를 터치해도 사라지지 않게 설정하는 방법을 알았습니다. 원하는 경우 해당 설정을 이용하여 앱의 사용자 경험을 더 향상시킬 수 있습니다.