gpt4 book ai didi

android - AlertDialog 在 Nexus 设备上看起来不同

转载 作者:行者123 更新时间:2023-11-29 20:03:06 25 4
gpt4 key购买 nike

我使用以下代码在我的应用程序的不同场景中创建不同的 AlertDialogs:

public static void showAlertDialog(Context activityContext, DialogType type, CharSequence title, CharSequence msg, CharSequence posText,
DialogInterface.OnClickListener posOnClickListener, CharSequence negText, DialogInterface.OnClickListener negOnClickListener, boolean isCancelable, int iconResId) {
try {
final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(activityContext);
if (JavaUtils.isNotNullNotEmptyNotWhiteSpaceOnly((String) title))
alertDialogBuilder.setTitle(title);
if (JavaUtils.isNotNullNotEmptyNotWhiteSpaceOnly((String) msg))
alertDialogBuilder.setMessage(msg);
if (JavaUtils.isNotNullNotEmptyNotWhiteSpaceOnly((String) posText))
alertDialogBuilder.setPositiveButton(posText, posOnClickListener);
if (JavaUtils.isNotNullNotEmptyNotWhiteSpaceOnly((String) negText))
alertDialogBuilder.setNegativeButton(negText, negOnClickListener);

alertDialogBuilder.setCancelable(isCancelable);

// set alert icon
if (iconResId == 0) {
alertDialogBuilder.setIcon(type == DialogType.ERROR ? android.R.drawable.ic_dialog_alert : android.R.drawable.ic_dialog_info);
} else {
alertDialogBuilder.setIcon(iconResId);
}

AlertDialog alertDialog = alertDialogBuilder.create();

alertDialog.show();
} catch (Exception e) {
InfiLogger.w("showAlertDialog", e.toString(), e);
Crashlytics.logException(e);
}
}

虽然在大多数运行 Lollipop 或更高版本的设备上,AlertDialog 看起来像这样:

enter image description here

Nexus 设备上,相同的运行代码如下所示:

enter image description here

有人知道为什么会这样吗?解决这个问题的正确方法是什么?

最佳答案

此问题的解决方案是使用支持库中的 AlertDialog 而不是使用原始的。

所以我要做的就是替换这个导入来解决这个问题:

import android.app.AlertDialog;

通过这个导入:

import android.support.v7.app.AlertDialog;

关于android - AlertDialog 在 Nexus 设备上看起来不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36016184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com