【发布时间】:2021-08-12 15:18:42
【问题描述】:
我们一直在尝试迁移我们的代码库以针对 API 30 进行编译(不使用弃用),但在处理系统 UI 和窗口插图的广泛弃用时遇到了一些问题。
我们正在尝试在持久状态栏下绘制内容,而不是在导航栏下。 (所以setDecorFitsSystemWindows 不起作用)
以前我们是这样做的:
activity?.window?.addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)
activity?.window?.decorView?.systemUiVisibility?.let {
activity?.window?.decorView?.systemUiVisibility = it and View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR.inv()
}
binding.start.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)
我已经能够通过
让状态栏一直变亮window.insetsController?.setSystemBarsAppearance(0, WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS)
使用插入控制器,但我不知道如何让视图在状态栏下向上扩展。
我尝试弄乱插图,但 setOnApplyWindowInsetsListener 不再被调用以进行修改。
查看整个网络,我没有看到任何不推荐的方式来获得这种行为。我想知道这是否还有可能?
【问题讨论】:
-
所以基本上你希望你的活动画在一个透明的状态栏后面?
标签: android android-11 android-statusbar