(最初的版本,修改style.xml的文件来得到)
在style.xml中修改代码如下即可

1
2
3
4
5
<style name="AppFullTheme" parent="AppTheme">
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
<item name="android:windowFullscreen">true</item>
</style>

在使用compose时,首先找到Theme.kt
找到这段代码

1
(view.context as Activity).window.statusBarColor = colorScheme.primary.toArgb()

将其改为

1
(view.context as Activity).window.statusBarColor = Color.Transparent.toArgb()

这样就完成了状态栏颜色透明色

还有两个问题:

  1. 状态栏未沉浸
    在MainActivity中设置

    1
    WindowCompat.setDecorFitsSystemWindows(window, false)

    当然,这一部分你也可以选择通过style.xml来设置,都是一样的

  2. 状态栏字体颜色是白色
    ![](https://image.zfxt.top/hexo-blog/Compose 设置沉浸状态栏(不导入库一行代码解决)-2023-12-14-38-47.png)
    默认情况下,他会根据系统是否未暗色模式来修改状态栏字体颜色。因此你可以自定义方法(在不同场景下传入不同的参数来设置颜色值)或者直接写死。设置字体颜色

引用自csdn