因此,我使用該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)
}
}
我想知道是否可以在此處更改操作的文本顏色,如果可以,如果您可以提供示例或資源,那就太酷了。
謝謝!
uj5u.com熱心網友回復:
您可以自定義您的Snackbar使用actionColor引數。
就像是:
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"
)
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/338293.html
標籤:安卓 科特林 android-jetpack-compose android-jetpack android-snackbar
