java - AlertDialog 由于某种原因显示全屏

标签 java android android-alertdialog androidx

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

这是我的代码(相同的代码在我的应用程序的其他 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();

最佳答案

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

错误:

import android.app.AlertDialog;

右:

import androidx.appcompat.app.AlertDialog;

关于java - AlertDialog 由于某种原因显示全屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56128174/

相关文章:

java - Elasticsearch 嵌套聚合

java - 无法将字符串转换为长

android - onPreferenceClick 不适用于 android

android - 在调用适配器的 OnClickListener 期间关闭 AlertDialog

java - java中方法的高效参数传递

java - JSON 响应在 PHP 版本 5.3.24 中不起作用

安卓 : add numbers to map markers

Android Theme.NoTitleBar 不起作用

Android Dialog(非自定义)问题

java - 如何更改 alertDialog 中项目的字体?