BottomSheetScaffold 드래그 핸들 버튼, 외부 버튼으로 열고 닫기
- BottomSheetScaffold Button
BottomSheetScaffold
의 sheetDragHandle
이 바 형태의 아이콘이 들어가는 자리,
코드
val scaffoldState = rememberBottomSheetScaffoldState()
val bottomSheetScope = rememberCoroutineScope()
var bottomSheetStateOrdinal by remember { mutableIntStateOf(scaffoldState.bottomSheetState.currentValue.ordinal) }
Surface(modifier = Modifier.fillMaxSize().background(White)) {
BottomSheetScaffold(
scaffoldState = scaffoldState,
sheetPeekHeight = 120.dp,
sheetContainerColor = Color.White,
sheetContent = {...}) {
Column(
modifier = Modifier.fillMaxSize().background(White).padding(defaultPadding),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
Button(modifier = Modifier.height(40.dp).wrapContentWidth(), onClick = {
bottomSheetScope.launch {
bottomSheetStateOrdinal =
scaffoldState.bottomSheetState.currentValue.ordinal
if (bottomSheetStateOrdinal == 1) {
scaffoldState.bottomSheetState.partialExpand()
} else {
scaffoldState.bottomSheetState.expand()
}
}
}) {
Text(
"바텀 시트 ${
if (bottomSheetStateOrdinal == 1) "닫기" else {
"열기"
}
} "
)
}
}
}
}
결과