Как предотвратить недостаток внутри лазиколомы в модальном нижнем листе, используя JetPack Compose?Android

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

Сообщение Anonymous »

Я создал нормальный модальный нижний лист. Внутри модального нижнего листа у меня есть Lazycolumn с элементами. Я не могу обнаружить, что есть способ просто отключить эту функцию и строго сохранить ее, когда пользователь сбивает /перетаскивает на перетаскивании. То, что пользователь может закрыть лист Modalbottom, перетаскивая модальный нижний лист с помощью Draghandler?@Preview
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun ModalBottomSheetSample() {
var openBottomSheet by rememberSaveable { mutableStateOf(false) }
val scope = rememberCoroutineScope()
val bottomSheetState =
rememberModalBottomSheetState(skipPartiallyExpanded = true)

// App content
Box(
modifier = Modifier.fillMaxSize(),
contentAlignment = Alignment.Center
) {
Column(
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
Button(
onClick = { openBottomSheet = !openBottomSheet },
modifier = Modifier.align(Alignment.CenterHorizontally)
) {
Text(text = "Show Bottom Sheet")
}
}
}

// Sheet content
if (openBottomSheet) {

ModalBottomSheet(
onDismissRequest = { openBottomSheet = false },
sheetState = bottomSheetState,
) {
Box(
modifier = Modifier
.fillMaxWidth()
.fillMaxHeight(0.9f) // This limits the height to 90% of the screen
) {
Column(
modifier = Modifier
.fillMaxSize()
.padding(16.dp)
) {
Row(Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.Center) {
Button(
onClick = {
scope
.launch { bottomSheetState.hide() }
.invokeOnCompletion {
if (!bottomSheetState.isVisible) {
openBottomSheet = false
}
}
}
) {
Text("Hide Bottom Sheet")
}
}

var text by remember { mutableStateOf("") }
OutlinedTextField(
value = text,
onValueChange = { text = it },
label = { Text("Text field") },
modifier = Modifier.fillMaxWidth()
)

Spacer(modifier = Modifier.height(16.dp))

LazyColumn(modifier = Modifier.fillMaxSize()) {
items(25) {
ListItem(
headlineContent = { Text("Item $it") },
leadingContent = {
Icon(
Icons.Default.Favorite,
contentDescription = "Localized description"
)
},
colors = ListItemDefaults.colors(
containerColor = MaterialTheme.colorScheme.surfaceContainerLow
)
)
}
}
}
}
}

}
}



Подробнее здесь: https://stackoverflow.com/questions/795 ... sing-jetpa
Ответить

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

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

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

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

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