AlertDailog弹框显示问题

#AlertDailog 弹框显示问题

AlertDailog弹框显示问题_第1张图片

在Android 9.0^ 模拟器 或者个别 手机上 AlertDailog 弹框 在显示 的时候 位置不居中靠边 ,测试 com.android.alertDailog / v7.alertDailog 都一样

# 解决办法

调整 当前 dialogWindow 宽高参数

 /**
     * 检测AlertDialog show 显示问题
     *
     * @param alertDialog alertDialog 实体
     */
    public static void lintAlertDialogWindows(Activity activity, AlertDialog alertDialog) {
        //放在show()之后,不然有些属性是没有效果的,比如height和width
        Window dialogWindow = alertDialog.getWindow();
        if (dialogWindow == null) return;
        WindowManager.LayoutParams p = dialogWindow.getAttributes(); // 获取对话框当前的参数值
        // 设置宽度
        p.width = (int) (ScreenUtils.getScreenWidth(activity) * 0.95);
        p.gravity = Gravity.CENTER;//设置位置
        //p.alpha = 0.8f;//设置透明度
        dialogWindow.setAttributes(p);
    }

你可能感兴趣的:(Android,Android,Ui)