Colton Idle
02/03/2021, 3:24 PMColton Idle
02/03/2021, 3:49 PMfmasa
02/03/2021, 4:36 PM@Immutable
data class AppColors(
val colorOne: Color,
val colorTwo: Color,
)
fun defaultColors() = AppColors(Color.RED, Color.BLACK)
val AmbientAppColors = staticAmbientOf { defaultColors() }
object AppTheme {
val colors: AppColors
@Composable
@ComposableContract(readonly = true)
get() = AmbientAppColors.current
}
// Then in your code
Text("Foo", color = AppTheme.colors.colorOne)
// Overriding theme (where darkColors returns instance of AppColors
Provides (AmbientAppColors provides darkColors()) {
// UI using dark theme
}