如何让TopAppBar导航图标消失?

How to make TopAppBar navigationIcon disapear?

我的一些屏幕不需要抽屉,所以我不希望导航图标显示在顶部栏上。使用以下代码,我使图标未显示,但 space 仍保留用于图标。我怎样才能消除它?

TopAppBar(
    title = {
        Text(text = title,
            textAlign = TextAlign.Start,
            fontSize = 18.sp) },
    actions = { TopbarActions()},
    navigationIcon = {
        if (needDrawer) {
            IconButton(onClick = {
            }) {
                Icon(Icons.Filled.Menu, "")
            }
        } else Spacer(Modifier.width(1.dp))
    },
)

您正在创建一个空视图,但您需要让 TopAppBar 知道不应该有视图。

像这样将 null 传递给 navigationIcon

TopAppBar(
    navigationIcon = if (needDrawer) {
        @Composable {
            IconButton(onClick = {
            }) {
                Icon(Icons.Filled.Menu, "")
            }
        }
    } else null
)