Android Dialog全屏

 老夫最近在研究相对论,我发现一个天大的谎言,其实时间并不真实存在,万事万物都有其绝对速度,姑且称之为光速。

废话不多说,按我的理解,给大家来个demo,

showtime:

 举个简单的例子, 程序员A,与程序员B 两个人在偷窥女生洗澡,这个时候,程序员A 以光速想着女生进发,他会发现女生一直定格在某一个洗澡动作,而不会发生改变,如果,这时候,他把速度稍微降一点,9/10 的光速,他会发现 女生洗澡的每一个动作都像是慢回放一样在他面前展示,

而程序员B就更吊了,他以2倍的光速向着女生进发,他会发现这个女生洗澡的动作在倒放,这tm就尴尬了,下面没了。。。

  正题:

很多人 在用dialog弹框的时候,系统自带的弹框样式满足不了我们所需要,这个时候你需要 下面这段代码:

 

 

  val builder = AlertDialog.Builder(this@AnnounceSeniorSearchActivity)
                val dialog = builder.create()
                dialog.show()

                val manager = windowManager
                val outMetrics = DisplayMetrics()
                manager.defaultDisplay.getMetrics(outMetrics)
                val width = outMetrics.widthPixels
                val height = outMetrics.heightPixels
                val window = dialog.window

                window.setBackgroundDrawable(ColorDrawable())
                window.clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM)//AlertDialog中含有EditText不显示软键盘
                window.setGravity(Gravity.BOTTOM)
                val lp = window.attributes
//                lp.width = width
                lp.height = ScreenUtils.dip2px(this@AnnounceSeniorSearchActivity, 400f)

                lp.width = ViewGroup.LayoutParams.MATCH_PARENT
//                lp.height = ViewGroup.LayoutParams.WRAP_CONTENT
                window.attributes = lp
                window.setContentView(view)

 

把上述代码run起来,你会发现 背景是透明的,布局是透明的。。。。

淡定,这个时候,你需要把dialog 的布局背景设置为白色, 你会发现 空气是多么的清新!

 

你可能感兴趣的:(android初探)