手机直播源码,设置透明背景(去掉蒙层)状态栏颜色不改变

发布时间 2023-07-03 14:08:55作者: 云豹科技-苏凌霄

手机直播源码,设置透明背景(去掉蒙层)状态栏颜色不改变

Dialog设置透明背景(去掉蒙层)

 

//背景全透明
window!!.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
window!!.setDimAmount(0f)
     

​      

 

Dialog弹出时状态栏颜色不改变

 

//弹出时状态栏颜色不改变  
window!!.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)
 

 

原因:

正常情况下,Dialog弹出时背景有灰色蒙层,此时状态栏的颜色变为亮色,这是由于设置了addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)

 

所以如果需要状态栏不因Dialog弹出而改变,即需要

clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)

 

完整代码

 

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.dialog_store_detail)
        if (window != null) {
            window!!.setGravity(Gravity.BOTTOM)
            val lp = window!!.attributes
            lp.width = WindowManager.LayoutParams.MATCH_PARENT
            lp.height = WindowManager.LayoutParams.WRAP_CONTENT
            window!!.attributes = lp
            window!!.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
            //背景全透明
            window!!.setDimAmount(0f)
            //弹出时状态栏颜色不改变
            window!!.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)
        }
...
    }

 

 以上就是 手机直播源码,设置透明背景(去掉蒙层)状态栏颜色不改变,更多内容欢迎关注之后的文章