Skip to content

toolbar text color doesn't change, for example, you can enable a black theme in the system and a white one in the application #5

@ishumakov881

Description

@ishumakov881

@composable
fun SetSystemBarColors(isDarkTheme: Boolean) {//Actual android
val view = LocalView.current
if (!view.isInEditMode) {
SideEffect {
val window = (view.context as Activity).window
WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = !isDarkTheme
WindowCompat.getInsetsController(window, view).isAppearanceLightNavigationBars = !isDarkTheme
}
}
}

@composable
fun AppTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
// Dynamic color is available on Android 12+
dynamicColor: Boolean = false, //true

preferHelper: PreferenceHelper = rememberPreferenceHelper(),
darkColorScheme: ColorScheme = darkColorScheme(),
lightColorScheme: ColorScheme = lightColorScheme(),
content: @Composable PreferableMaterialTheme.() -> Unit

) {
//... dynamic theme ...
// val colorScheme = when {
// dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
// val context = LocalContext.current
// if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
// }
//
// darkTheme -> DarkColorScheme
// else -> LightColorScheme
// }

SetSystemBarColors(darkTheme)//Toolbar Fix

val themePrefs = rememberThemePrefs(preferHelper, darkColorScheme, lightColorScheme, /*Here you need to add a flag to use a dynamic theme*/)

CompositionLocalProvider(
    LocalThemePrefs provides themePrefs,
) {
    MaterialTheme(
        colorScheme = themePrefs.colorScheme,
        content = { PreferableMaterialTheme.content() }
    )
}

}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions