Как добавить поля слева и справа в пользовательский AlertDialog? - PullRequest
0 голосов
/ 11 ноября 2018

Я создал Custom 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();

        }

Я хочу добавить поля слева и справа от этого алерта.

Я пробовал много кода в интернете, но он делает упор на настройке ширины и высоты Alert Dialog. Я не хочу устанавливать ширину и высоту. Я хочу добавить поля слева и справа от AlertDialog, который является MATCH_PARENT.

Мой текущий диалог оповещения выглядит так:

enter image description here

Я хочу добавить поля как 40 или 50 или в зависимости от плотности устройства. это возможно?

1 Ответ

0 голосов
/ 12 ноября 2018

Вы можете попробовать следующий метод для достижения этой цели.

     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));

Отрегулируйте десятичное значение для ширины и высоты в соответствии с тем, какое соотношение вам нужно.

...