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;
我通过按下导航抽屉中的按钮构建并显示标准的简单 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;