How to make custom theme in preview mode?
In Theme file I have custom data class with some special colors for black and white theme.
Theme file:
data class AppResources(
@ColorLong val greyZero: Long,
@ColorLong val lightModeMainDefault: Long
)
val LightAppResources = AppResources(
greyZero = 0xFF242323,
lightModeMainDefault = 0xFFCC0616
)
val DarkAppResources = AppResources(//colors for dark theme)
@Composable
fun JetPackComposeTheme(
val appResources = if (darkTheme) {
DarkAppResources
} else {
LightAppResources
}
MaterialTheme(
colorScheme = colors,
typography = MaterialTheme.typography,
shapes = MaterialTheme.shapes
) {
CompositionLocalProvider(
LocalAppResources provides appResources,
content = content
)
}
)
In @Composable function I use such code to get specific color: Color(LocalAppResources.current.greyZero)
Then I run application in debug mode it works fine.
But how could I use it in @Preview mode, because it doesn't work in preview mode?
Because it expensive to run application every time to see UI changes.