直播系統搭建,設定透明背景(去掉蒙層)狀態列顏色不改變

zhibo系統開發發表於2023-05-19

直播系統搭建,設定透明背景(去掉蒙層)狀態列顏色不改變

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)
        }
...
    }


 以上就是 直播系統搭建,設定透明背景(去掉蒙層)狀態列顏色不改變,更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2953314/,如需轉載,請註明出處,否則將追究法律責任。

相關文章