在 Jetpack Compose 中更改状态栏颜色时遇到问题
facing problem in changing status bar color in jetpack compose
我的应用程序中有两个活动,一个是 home.kt
,另一个是 about.kt
,对于两个屏幕,我在 home.kt
文件中设置了不同的背景颜色状态栏颜色为背景颜色。
rememberSystemUiController().setStatusBarColor(
MaterialTheme.colors.background, darkIcons = MaterialTheme.colors.isLight
)
当我移动到 about.kt
时,我再次尝试将其颜色与背景相匹配,但状态栏保持其在 home.kt
中设置的原始颜色
rememberSystemUiController().setStatusBarColor(
MaterialTheme.colors.surface, darkIcons = MaterialTheme.colors.isLight
)
//This piece is having no effect
在每个 activity 中,而不是使用:
rememberSystemUiController().setStatusBarColor
,
像这样设置状态栏颜色:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
ComposePlaygroundTheme {
window?.setStatusBarColor(Color.Red.toArgb())
}
}
}
}
为此,google 也创建了一个名为 accompanist 的库。
您可以在这里找到它:https://github.com/google/accompanist
就像在这个模块中一样,有 multiple module 用于 Jetpack Compose,系统控制器,因此您可以使用它进行更改
要了解更多信息,请参阅文档 :-- https://google.github.io/accompanist/systemuicontroller/
我的应用程序中有两个活动,一个是 home.kt
,另一个是 about.kt
,对于两个屏幕,我在 home.kt
文件中设置了不同的背景颜色状态栏颜色为背景颜色。
rememberSystemUiController().setStatusBarColor(
MaterialTheme.colors.background, darkIcons = MaterialTheme.colors.isLight
)
当我移动到 about.kt
时,我再次尝试将其颜色与背景相匹配,但状态栏保持其在 home.kt
rememberSystemUiController().setStatusBarColor(
MaterialTheme.colors.surface, darkIcons = MaterialTheme.colors.isLight
)
//This piece is having no effect
在每个 activity 中,而不是使用:
rememberSystemUiController().setStatusBarColor
,
像这样设置状态栏颜色:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
ComposePlaygroundTheme {
window?.setStatusBarColor(Color.Red.toArgb())
}
}
}
}
为此,google 也创建了一个名为 accompanist 的库。 您可以在这里找到它:https://github.com/google/accompanist
就像在这个模块中一样,有 multiple module 用于 Jetpack Compose,系统控制器,因此您可以使用它进行更改
要了解更多信息,请参阅文档 :-- https://google.github.io/accompanist/systemuicontroller/