小编Jap*_*Con的帖子

Jetpack Compose 具有动态操作的 TopAppBar

@Composable
fun TopAppBar(
    title: @Composable () -> Unit,
    modifier: Modifier = Modifier,
    navigationIcon: @Composable (() -> Unit)? = null,
    actions: @Composable RowScope.() -> Unit = {},
    backgroundColor: Color = MaterialTheme.colors.primarySurface,
    contentColor: Color = contentColorFor(backgroundColor),
    elevation: Dp = AppBarDefaults.TopAppBarElevation
)
Run Code Online (Sandbox Code Playgroud)

操作:@Composable RowScope.() -> Unit = {}

使用场景: 使用Compose Navigation切换到不同的“屏幕”,因此TopAppBar的动作也会发生相应的变化。例如。内容屏幕的共享按钮、列表屏幕的过滤按钮

尝试将状态作为状态传递给 TopAppBar 的 actions 参数,但在保存函数的 lambda 块时遇到问题remember

val (actions, setActions) = rememberSaveable { mutableStateOf( appBarActions ) }
Run Code Online (Sandbox Code Playgroud)

想要动态更改应用栏操作内容。有什么办法可以做到吗?

navigation android kotlin android-jetpack-compose

11
推荐指数
2
解决办法
8446
查看次数