AlertDialog 由于某种原因显示全屏

AlertDialog is showing fullscreen for some reason

我通过按下导航抽屉中的按钮构建并显示标准的简单 AlertDialog,上下文为 Activity,由于未知原因它显示全屏,但我需要在中心显示标准对话框。

这是我的代码(相同的代码在我的应用程序的其他活动中按预期工作):

new AlertDialog.Builder(mainActivity)
    .setTitle(mainActivity.getString(R.string.attention))
    .setPositiveButton(mainActivity.getString(R.string.exit), (dialog, which) -> {
        dialog.dismiss();
        mainActivity.finish();
    })
    .setNegativeButton(mainActivity.getString(R.string.cancel), (dialog, which) -> {
        dialog.dismiss();
    })
    .setMessage(mainActivity.getString(R.string.warnLogout))
    .create()
    .show();

请尝试此代码用于警报对话框。

 new AlertDialog.Builder(this)
                .setTitle("Alert")
                .setMessage("Hello This is Alert Dialog.")
                .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                    }
                }).setNegativeButton("No", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                dialogInterface.dismiss();
            }
        }).show();

输出:

问题出在导入错误:最近项目迁移到AndroidX,写AlertDialog逻辑时,误选了legacy import。似乎没有显示任何错误和警告,并且按钮按预期工作,但在我的情况下它显示为错误的全屏布局对话框:

错误:

import android.app.AlertDialog;

右:

import androidx.appcompat.app.AlertDialog;