android沉浸式状态栏
1、添加依赖(自行修改相应版本)
def accompanist_version = "0.24.3-alpha"
implementation "com.google.accompanist:accompanist-systemuicontroller:$accompanist_version"
2、检查res/values/themes.xml,要有一个NoActionBar
<style name="Theme.LearningApp" parent="android:Theme.Material.Light.NoActionBar" />
3、在MainActivity的setContent上方添加一行代码,取消状态栏与界面的间隔,使我们的界面可以顶上去。
WindowCompat.setDecorFitsSystemWindows(window,false)
其余取消状态栏与界面的间隔的功能也可以参考其他人的方法,本人没试过:
其一,在oncreate方法中添加
window.setDecorFitsSystemWindows(false)
其二、在setContent中添加
enableEdgeToEdge()
4、设置状态栏变透明
其一:在Theme.kt的SideEffect里边注释掉原来的statusBarColor,添加一行:
//window.statusBarColor = Color.Blue.toArgb()
window.statusBarColor = Color.Transparent.toArgb()
其二:在MainActivity的setContent的Surface中,添加
rememberSystemUiController().setSystemBarsColor(Color.Transparent, darkIcons = true)