ModalNavigationDrawer 在 Jetpack Compose 中不会完全崩溃

Ioa*_* P. 4 android kotlin android-jetpack-compose android-jetpack-compose-material3

这是产生这种奇怪行为的代码:

ModalNavigationDrawer(
    drawerState = drawerState,
    drawerContent = {
        Column(
            modifier = Modifier.fillMaxSize()
        ) {
            items.forEach { item ->
                NavigationDrawerItem(
                    modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding),
                    icon = {
                        Icon(
                            imageVector = item.icon,
                            contentDescription = null
                        )
                    },
                    label = {
                        Text(
                            text = item.name
                        )
                    },
                    onClick = {},
                    selected = true
                )
            }
        }
    },
    content = {
        Scaffold(
            topBar = {},
            content = { padding ->
                Box(
                    modifier = Modifier.fillMaxSize().padding(padding)
                ) {
                    Box(
                        modifier = Modifier.fillMaxSize(),
                        contentAlignment = Alignment.Center
                    ) {
                        Text(
                            text = "Profile"
                        )
                    }
                }
            }
        )
    }
)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我在用着:

implementation "androidx.compose.material3:material3:1.0.0-alpha16"
Run Code Online (Sandbox Code Playgroud)

在从 更新之前,这个确切的代码工作得很好1.0.0-alpha15

怎么解决这个问题呢?

Joh*_*ohn 12

如果将抽屉内容放入 ModalDrawerSheet 中可能会有所帮助。

因此:

ModalNavigationDrawer(
    drawerState = drawerState,
    drawerContent = {
        ModalDrawerSheet {
            Column(
                modifier = Modifier.fillMaxSize()
    etc 
Run Code Online (Sandbox Code Playgroud)