我想设置一个弹出的Dialog布局 将它在屏幕的 “中上方” 一点显示

我想设置一个弹出的Dialog 将它在屏幕的 “中上方” 一点显示,但是,现在用了一个 contentLayout.setForegroundGravity(Gravity.TOP); 却不行。不知道 怎么设置到上面 一点。
下面是设置的代码段

 View contentLayout = View.inflate(getActivity(), R.layout.alert_dialog, null);
        contentLayout.setForegroundGravity(Gravity.TOP);

        MyAlertDialog myAlertDialog = new MyAlertDialog(getActivity());
        myAlertDialog.showButton(false);//是否显示四个选项区域
        myAlertDialog.setLayout(contentLayout);//显示 alert_dialog.xml
        myAlertDialog.show();

下面是将xml布局中已经将dialog的显示在最上面了

img


但是,实际在其它类调用时,还是在下方一点

img

三个要点:

  1. Dialog 设置全屏

img

  1. dialog 布局全屏

img

  1. Activity adjustPan

img


以上配置后布局情况如下

  • 未弹出键盘:

img

  • 弹出键盘后,会自适应,不会遮挡布局

img

MyAlertDialog 的style设置了居中吧
试试给R.layout.alert_dialog布局里面添加marginButton

Window window = alertDialog.getWindow();
window.setGravity(Gravity.TOP);