如何在自定义AlertDialog的左侧和右侧添加边距?

时间:2018-11-11 18:42:44

标签: android android-layout alertdialog android-alertdialog

我已经创建了这样的自定义AlertDialog-

remark_builder = new AlertDialog.Builder(this);
        // Get the layout inflater
        LayoutInflater inflater = this.getLayoutInflater();
        // Inflate and set the layout for the dialog
        // Pass null as the parent view because its going in the
        // dialog layout
        remark_builder.setCancelable(true);
        final View dialogView = inflater.inflate(R.layout.add_remark_dialog, null);
        remark_builder.setView(dialogView);

if (remark_dialog == null || !remark_dialog.isShowing()) {

            remark_dialog = remark_builder.create();
            remark_dialog.setCanceledOnTouchOutside(false);
            remark_dialog.show();

        }

我想在此警报对话框的左侧和右侧添加边距。

我已经在Internet上尝试了很多代码,但是它着重于设置“警告对话框”的宽度和高度。 我不想设置宽度和高度。我想在AlertDialog的左侧和右侧添加边距,即MATCH_PARENT。

我当前的警报对话框如下:

enter image description here

我想添加40或50之类的边距,或者根据设备密度来添加。这可能吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法来实现这一目标。

     Rect displayRectangle = new Rect();
            Window window = mContext.getWindow();

            window.getDecorView().getWindowVisibleDisplayFrame(displayRectangle);
remark_dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
        malertdialog.show();
        malertdialog.getWindow().setLayout((int)(displayRectangle.width() *
                0.8f), (int)(displayRectangle.height() / 2));

根据您需要的比例调整宽度和高度的十进制值。