Android Jetpack Compose 模态底表错误

Android Jetpack Compose Modal Bottom Sheet Bug

提问人:Rares Cruceat 提问时间:11/18/2023 更新时间:11/18/2023 访问量:58

问:

我正在尝试在 Jetpack Compose 中实现一个简单的底部表模式,其中包含文本和文本字段。一切看起来都很好,直到我按下文本字段并出现键盘。问题是底部的表模态被推到高处。似乎它得到了键盘高度的两倍的底部边距。

代码如下:

 var showBottomSheet by remember { mutableStateOf(false) }

 if (showBottomSheet) {
        ModalBottomSheet(
            onDismissRequest = { showBottomSheet = false },
            windowInsets = WindowInsets.ime,
            dragHandle = { BottomSheetDefaults.DragHandle() },
        ) {
            CollectionFormPage()
        }
    }

这是模态内容的代码

@Composable
fun CollectionFormPage(
  collectionFormViewModel: CollectionFormViewModel = hiltViewModel(),
) {

    val state = collectionFormViewModel.state.collectAsState()

    Surface(
        modifier = Modifier
            .padding(start = 16.dp, end = 16.dp, bottom = 16.dp)
    ) {
        Column {
            Text(
                "Test", style = MaterialTheme.typography.titleMedium.copy(
                    color = MaterialTheme.colorScheme.onSurface
                )
            )
            TextField(
                modifier = Modifier.fillMaxWidth(),
                value = state.value.label,
                onValueChange = {
                    //TODO
                })
        }
    }
}

Modal bottom sheet shown

Modal bottom sheet with huge bottom padding

Android Kotlin android-jetpack

评论


答:

2赞 Faruk Karaca 11/18/2023 #1

此问题已在最新版本中修复。请更新一下

implementation 'androidx.compose.material3:material3:1.2.0-alpha10'

评论

0赞 Rares Cruceat 11/18/2023
太好了,谢谢法鲁克!
1赞 Faruk Karaca 11/18/2023
不客气。如果是,您可以将其标记为正确答案。
0赞 Erick Sorto 12/11/2023
更新依赖项后,我仍然会出现问题。