繁体   English   中英

Jetpack Compose,如何在 Scaffold 中的 .showSnackbar() 中更改零食栏的动作颜色?

[英]Jetpack Compose, how to change the color of the action of the snackbar in .showSnackbar() in a Scaffold?

因此,我使用scaffoldState.snackbarHostState.showSnackbar()方法在我的 Scaffold 内显示了一个小吃店,尽管“撤消”操作的颜色是深紫色,我想将其更改为其他颜色。

我知道我可以将它显示为自定义组件,但我想在coroutineScope()启动它,我认为这是不可能的。

我的代码是这样的小吃店。

scope.launch {
  val result = scaffoldState.snackbarHostState.showSnackbar(
    message = "Note Deleted",
    actionLabel = "Undo",
  )
  if (result == SnackbarResult.ActionPerformed) { 
    viewModel.onEvent(NotesEvent.RestoreNote)
  }
}

我想知道是否可以在此处更改操作的文本颜色,如果可以,如果您可以提供示例或资源,那就太酷了。

谢谢!

您可以使用actionColor参数自定义您的Snackbar

就像是:

val scaffoldState = rememberScaffoldState()
Scaffold(
    scaffoldState = scaffoldState,
    snackbarHost = {
        // reuse default SnackbarHost to have default animation and timing handling
        SnackbarHost(it) { data ->
            // custom snackbar with the custom colors
            Snackbar(
                actionColor = Green,
                //contentColor = ...,
                snackbarData = data
            )
        }
    },

然后只需使用它:

scope.launch {
        scaffoldState.snackbarHostState.showSnackbar(
               message = "Note Deleted",
               actionLabel = "Undo"
         )
}

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM