Как предотвратить перемещение модального нижнего листа при прокрутке списка вниз, 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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