Как предотвратить перемещение модального нижнего листа при прокрутке списка вниз, ComposeAndroid

Форум для тех, кто программирует под Android
Anonymous
Как предотвратить перемещение модального нижнего листа при прокрутке списка вниз, Compose

Сообщение Anonymous »

Я использую ModalBottomSheet, открываю его на определенную высоту и отображаю список в lazyColumn, когда пользователь прокручивает список вниз, иногда лист также прокручивается вниз.
Я нужно, чтобы он открывался на определенную высоту, а затем не перемещался, пока пользователь не нажмет значок закрытия в дескрипторе перетаскивания.
var isClosable by remember { mutableStateOf(false) }

val previewSheetState = rememberModalBottomSheetState(
skipPartiallyExpanded = true,
confirmValueChange = { sheetValue ->
sheetValue != SheetValue.Hidden || isClosable
}
)
ModalBottomSheet(
onDismissRequest = {
scope.launch {
isClosable = true
onBottomSheetDismiss(false)
previewSheetState.hide()
}
},
sheetState = previewSheetState,
modifier = Modifier.fillMaxSize()
.padding(top = 80.dp), // Adjust this value as needed,
dragHandle = {
Column {
Row(
Modifier
.fillMaxWidth()
.background(Color.White)
.padding(start = 15.dp, top = 5.dp, end = 10.dp),
Arrangement.SpaceBetween,
Alignment.CenterVertically
) {
Text(
text = "Hello",
fontSize = 15.sp,
fontWeight = FontWeight.SemiBold
)

Icon(
imageVector = Icons.Default.Close,
contentDescription = "Close",
tint = Color.Black,
modifier = Modifier
.size(20.dp)
.clickable(
interactionSource = remember { MutableInteractionSource() },
indication = null
) {
scope.launch {
isClosable = true
onBottomSheetDismiss(false)
previewSheetState.hide()
}
}
)
}
HorizontalDivider(thickness = 1.dp, modifier = Modifier.fillMaxWidth())
}
},
containerColor = Color.Transparent
) {
//Sheet content displayed in LazyColumn
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... n-list-com

Вернуться в «Android»