Por lo tanto, estoy mostrando una barra de refrigerios dentro de mi Scaffold, usando el método scaffoldState.snackbarHostState.showSnackbar() , aunque el color de la acción "Deshacer" es púrpura oscuro y me gustaría cambiarlo por otro.
Sé que puedo mostrarlo como un componente personalizado, aunque me gustaría lanzarlo en un coroutineScope() , lo cual creo que no es posible.
Mi código es así para el snackbar.
scope.launch { val result = scaffoldState.snackbarHostState.showSnackbar( message = "Note Deleted", actionLabel = "Undo", ) if (result == SnackbarResult.ActionPerformed) { viewModel.onEvent(NotesEvent.RestoreNote) } }Me gustaría saber si es posible cambiar el color del texto de la acción aquí y, en caso afirmativo, sería genial si pudiera dar un ejemplo o un recurso.
¡Gracias!
Puedes personalizar tu Snackbar usando el parámetro actionColor .
Algo como:
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 ) } },Entonces solo úsalo:
scope.launch { scaffoldState.snackbarHostState.showSnackbar( message = "Note Deleted", actionLabel = "Undo" ) }