mirror of
https://github.com/SimpleMobileTools/Simple-Calculator.git
synced 2025-02-19 21:10:39 +01:00
setStatusBarColor only when scrolling and make sure that action bar text color matches icon color for status bar
This commit is contained in:
parent
d90a86c319
commit
06ac637e50
@ -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
|
||||
|
@ -191,7 +191,6 @@ private fun Theme(
|
||||
SideEffect {
|
||||
systemUiController.setNavigationBarColor(colorScheme.surface, navigationBarContrastEnforced = false)
|
||||
systemUiController.setSystemBarsColor(colorScheme.surface)
|
||||
systemUiController.setStatusBarColor(colorScheme.primary)
|
||||
}
|
||||
|
||||
SideEffect {
|
||||
|
Loading…
x
Reference in New Issue
Block a user