0

这是一个简单的警报对话框。默认重心为中心

AlertDialog.Builder alertBuild = new AlertDialog.Builder(MainActivity.this)
                        .setTitle("Sample Alert")
                        .setMessage("This is sample alert dialog")
                        .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
                            }
                        })
                        .setNegativeButton(android.R.string.no, null);

                AlertDialog alert = alertBuild.create();
                alert.show();

我想从屏幕顶部获取对话框窗口的实际距离。

我尝试设置以下属性。

WindowManager.LayoutParams attributes = alert.getWindow().getAttributes();
                attributes.y = 205;
                alert.getWindow().setAttributes(attributes);

我能够从 top[alert.getWindow().getAttributes().y] 获得窗口的距离。

但是当我将重力设置为以下任何一个时,x 和 y 变为 0。

attributes.gravity= Gravity.CENTER;
attributes.gravity= Gravity.BOTTOM;

在此处输入图像描述

特别不适用于android.support.design.widget.BottomSheetDialog

有人可以帮助我如何从屏幕顶部获得实际的对话框窗口距离吗?

4

0 回答 0