在 Jetpack Compose 中将底部工作表与具有文本字段的键盘一起移动

问题描述 投票:0回答:1

我正在尝试制作一个带有文本字段的底页。但是,底板与键盘重叠。有没有办法将底片移动到键盘上方?

我有这个:

我需要这个:

如何在 Jetpack Compose 中实现它?

android kotlin android-jetpack-compose android-jetpack
1个回答
0
投票

如果您在 Activity 中使用完整窗口样式,请在

windowInsets
中添加
ModalBottomSheet
参数,并将值设置为
WindowInsets.ime
可组合项。这将使软键盘在显示键盘时可以被检测到并相应地调整其布局。

@Composable
fun BottomSheet(
    onDismiss: () -> Unit,
    modalBottomSheetState: SheetState,
    modifier: Modifier = Modifier
) {
    ModalBottomSheet(
        onDismissRequest = onDismiss,
        sheetState = modalBottomSheetState,
        dragHandle = { BottomSheetDefaults.DragHandle() },
        modifier = Modifier
            .fillMaxSize()
            .then(modifier),
        windowInsets = WindowInsets.ime
    ) {
        TextField(value = "", onValueChange = {}, label = "Text")
    }
}

© www.soinside.com 2019 - 2024. All rights reserved.