setStatusBarColor only when scrolling and make sure that action bar text color matches icon color for status bar

This commit is contained in:
FunkyMuse 2023-07-10 16:50:33 +02:00
parent d90a86c319
commit 06ac637e50
2 changed files with 13 additions and 5 deletions

View File

@ -19,6 +19,7 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalView
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import com.google.accompanist.systemuicontroller.rememberSystemUiController
import com.simplemobiletools.calculator.compose.extensions.MyDevices
import com.simplemobiletools.calculator.compose.settings.SettingsCheckBoxComponent
import com.simplemobiletools.calculator.compose.settings.SettingsGroup
@ -54,16 +55,24 @@ fun SettingsScreen(
onUseCommaAsDecimalMarkFlow: (Boolean) -> Unit,
lockedCustomizeColorText: String?
) {
val systemUiController = rememberSystemUiController()
val displayLanguage = remember { Locale.getDefault().displayLanguage }
val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(rememberTopAppBarState())
val colorTransitionFraction = scrollBehavior.state.overlappedFraction
val fraction = if (colorTransitionFraction > 0.01f) 1f else 0f
val scrolledColor = lerp(
nonScrolledTextColor,
scrolledTextColor,
fraction
start = nonScrolledTextColor,
stop = scrolledTextColor,
fraction = fraction
)
val scrolledColorStatusBar = lerp(
start = MaterialTheme.colorScheme.surface,
stop = MaterialTheme.colorScheme.primary,
fraction = fraction
)
systemUiController.setStatusBarColor(scrolledColorStatusBar, transformColorForLightContent = {
scrolledColor
})
Scaffold(
modifier = Modifier

View File

@ -191,7 +191,6 @@ private fun Theme(
SideEffect {
systemUiController.setNavigationBarColor(colorScheme.surface, navigationBarContrastEnforced = false)
systemUiController.setSystemBarsColor(colorScheme.surface)
systemUiController.setStatusBarColor(colorScheme.primary)
}
SideEffect {