首页 > 解决方案 > 全屏标志不适用于片段

问题描述

我碰巧有一个活动项目,我希望一个片段具有全屏功能。这个片段是从一个不同的场景中打开的,目前我添加的这段代码不起作用,我也注意到这已被弃用。处理这种情况的最佳方法是什么。这是它的外观,我想隐藏appbar、 图标和bottom bar

这是一张图片在此处输入图像描述

 override fun onAttach(context: Context) {
    super.onAttach(context)

    requireActivity().window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)

}

override fun onDetach() {
    super.onDetach()

    requireActivity().window.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)
}

标签: androidkotlin

解决方案


尝试这个

 window.apply {
        clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
        addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            decorView.systemUiVisibility =
                    View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
        } else {
            decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        }
        statusBarColor = Color.TRANSPARENT
    }

推荐阅读