由于 Window 的 decorView 默认是设置有 10dp 的padding。需要获取到decorView后设置其padding为(0, 0, 0, 0) 即可。
override fun onStart() {
Logger.i(TAG, "onStart")
super.onStart()
setWindowParam()
}
/**
* 设置dialog的 window 参数
*/
private fun setWindowParam() {
val win = dialog?.window
win?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
activity?.windowManager?.defaultDisplay?.getMetrics(DisplayMetrics())
win?.decorView?.setPadding(0, 0, 0, 0)
val params = win?.attributes ?: WindowManager.LayoutParams()
params?.dimAmount = 0f
params?.gravity = Gravity.BOTTOM
params?.width = MATCH_PARENT
params?.height = MATCH_PARENT
win?.attributes = params
}
本文介绍了如何在Android中解决Dialog窗口的默认padding问题,通过重置decorView的padding并设置窗口属性,实现全屏透明效果。方法包括获取decorView并将其padding设置为(0,0,0,0),以及调整WindowManager.LayoutParams参数。
2123

被折叠的 条评论
为什么被折叠?



