我已经在我的Android应用程序中实现了Edge to Edge
,我已经将状态/导航栏设置为透明的,它工作得很好。然而,突然一个ActionBar
出现在我的屏幕上,尽管我已经将应用程序主题设置为"android:Theme.Material.Light.NoActionBar"
。我该怎么弥补?
主活动:
override fun onCreate(savedInstanceState: Bundle?) {
enableEdgeToEdge(
statusBarStyle = SystemBarStyle.light(
Color.TRANSPARENT, Color.TRANSPARENT
),
navigationBarStyle = SystemBarStyle.light(
Color.TRANSPARENT, Color.TRANSPARENT
)
)
super.onCreate(savedInstanceState)
}
根组合:
...
val view = LocalView.current
if (!view.isInEditMode) {
SideEffect {
val window = (view.context as Activity).window
window.statusBarColor = Color.Transparent.toArgb()
WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = !darkTheme
}
}
...
主题.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.TestApp" parent="android:Theme.Material.Light.NoActionBar" />
</resources>
1条答案
按热度按时间shstlldc1#
你在代码中使用了SplashScreen API吗?如果您使用过此API,在AndroidManifest.xml文件中,当启动Activity的主题设置在位置2时,会显示提示栏。然而,根据官方指南,这两种方法预计会产生相同的效果。令人费解的是,将其放置在2会显示“显示栏”,而1则不会。