在 Jetpack Compose 中随具有文本字段的键盘一起移动底页

RuT*_*One 5 android kotlin android-jetpack android-jetpack-compose

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

我有这个:

在此输入图像描述

我需要这个:

在此输入图像描述

我如何在 Jetpack Compose 中实现它?

小智 1

如果您在活动中使用完整窗口样式,请在可组合项windowInsets中添加参数ModalBottomSheet并将值设置为WindowInsets.ime。这将使软键盘在显示键盘时可以被检测到并相应地调整其布局。

@Composable
fun ReviewBottomSheet(
    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")
    }
}
Run Code Online (Sandbox Code Playgroud)