android dialog布局文件中根布局layout_margin不生效的问题

布局文件





        

        


        

        


        


    




预览显示


android dialog布局文件中根布局layout_margin不生效的问题_第1张图片
image.png

在根布局中加入了marginLeft和marginRight
dialog 初始化部分代码

 init {
        val root = layoutInflater.inflate(builder.layoutRes ?: R.layout.dialog_tips, null)
        setContentView(root)
        setContentView(builder.layoutRes ?: R.layout.dialog_tips)
        val params = window.attributes
        params.gravity = builder.gravity
        params.width = ViewGroup.LayoutParams.MATCH_PARENT
        params.height = ViewGroup.LayoutParams.WRAP_CONTENT
        window.attributes = params
        builder.animStyle?.apply { window.setWindowAnimations(builder.animStyle!!) }
        builder.bindListener?.apply {
            builder.bindListener(this@CommonDialog, window.decorView)
        }
        builder.bind?.apply {
            bind(this@CommonDialog, window.decorView)
        }
        setCancelable(builder.cancelable)//外部和返回键不可点击
    }

调用的的是 dialog的setContentView(@NonNull View view) 方法

运行显示效果,可以看到magin失效了

android dialog布局文件中根布局layout_margin不生效的问题_第2张图片
image.png

改成 dialog的setContentView(@LayoutRes int layoutResID)后显示正常

android dialog布局文件中根布局layout_margin不生效的问题_第3张图片
image.png

你可能感兴趣的:(android dialog布局文件中根布局layout_margin不生效的问题)