我创建了一个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>