https://pub.dev/packages/draggable_bottom_sheet
flutter pub add draggable_bottom_sheet
채팅 화면에 FAQ UI 적용을 위해 사용한 라이브러리이다.
사용자가 드래그를 통해 위젯의 높이를 조작할 수 있다.
사용자가 조작하기 전의 기본 높이, 최대 높이, 최소 높이를 지정할 수 있다.
사실 원래 사용했던 것은 DraggableScrollableSheet() 위젯인데, pub dev를 보니 최근 업데이트가 무려 4년 전이라, 비교적 최근에 업데이트가 되었으면서 유사한 동작을 하는 라이브러리를 찾았다.
alignment : bottom sheet의 위치
backgroundWidget : bottom sheet를 배치할 배경 위젯
barrierColor : bottom sheet가 활성화 되었을 때 해당 sheet 바깥의 색상
barrierDismissible : bottom sheet 외부를 탭했을 때 sheet를 접을 것인지 여부 (디폴트 : true)
collapsed : bottom sheet의 초기 상태 (디폴트 : true, 접혀있는 상태)
curve : 확장 시 애니메이션
duration : 확장 시 지연 시간
expandedWidget : 확장 시 위젯
expansionExtent : previewWidget에서 expandedWidget으로 변경되기 위한 minExtent의 증분값
maxExtent : bottom sheet의 최대 높이
minExtent : bottom sheet의 최소 높이
onDragging : 드래그 시 실행되는 함수
previewWidget : bottom sheet가 비활성화 상태일 때 위젯
useSafeArea : 디바이스의 상태바, 노치 등의 화면 요소와 겹치게 할 것인지 여부 (디폴트 : true, 겹치지 않게 한다)