我创建了一个AlertDialog,想要更改AlertDialog的标题颜色,但是每次尝试都失败。它在Android 5.0及更高版本上可以很好地工作,并且标题颜色为黑色,但是当它在Android 5.0以下运行时,其标题颜色变为白色,我使用了Internet上的样式和许多其他来源,但是失败了,我的代码如下,

AlertDialog.Builder builder = new AlertDialog.Builder(context);
    builder.setMessage(msg)
            .setCancelable(true)
            .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int id) {
                    dialog.dismiss();
                }
            });

    final AppCompatDialog dialog = builder.create();
    dialog.setTitle("VALIDATION_TITLE error");
    dialog.setCancelable(false);
    dialog.show();


我的问题通过以下行得到解决,

dialog.setTitle( Html.fromHtml("<font color='#FF7F27'>Set IP Address</font>"))


但我不想使用它,任何帮助将不胜感激。您可以从此chat link看到我的对话框的屏幕截图

最佳答案

使用自定义主题自定义警报对话框

AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.MyAlertDialogStyle);
builder.setTitle("My Dialog");
builder.setMessage(msg)
                .setCancelable(true)
                .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int id) {
                        dialog.dismiss();
                    }
                });
       final AppCompatDialog dialog = builder.create();
       dialog.show();


styles.xml-自定义样式

<style name="MyAlertDialogMaterialStyle" parent="Theme.AppCompat.Light.Dialog.Alert">
        <!-- Used for the buttons -->
        <item name="colorAccent">@color/md_teal_900</item>
        <!-- Used for the title and text -->
        <item name="android:textColorPrimary">@color/white</item>
        <!-- Used for the background -->
        <item name="android:background">@color/color_primary_dark</item>
    </style>

10-08 05:39