手机直播源码,设置透明背景(去掉蒙层)状态栏颜色不改变
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)
}
...
}
以上就是 手机直播源码,设置透明背景(去掉蒙层)状态栏颜色不改变,更多内容欢迎关注之后的文章
标签:颜色,状态栏,LayoutParams,蒙层,WindowManager,window,源码 From: https://www.cnblogs.com/yunbaomengnan/p/17522756.html