首页 > 解决方案 > 如何为警告对话框文本添加颜色

问题描述

我想在警报框(file1,file2...file4)中为文本添加白色,但它本身显示默认颜色黑色。这是我的警报框图片 这是我的java代码

if (storagePermissionGrant()) {

        final Activity activity = this;
        String[] items = {"file1", "file2", "file3", "file4"};
        ContextThemeWrapper ctw = new ContextThemeWrapper(this, R.style.re);
        AlertDialog.Builder builder = new AlertDialog.Builder(ctw);
        builder.setTitle("Menu")
                .setItems(items, (dialog, which) -> {
                    switch (which) {
                        case 0:
                            MediaUtils.openfile1(activity);
                            break;
                        case 1:
                            MediaUtils.openfile2(activity);
                            break;
                        case 2:
                            MediaUtils.openfile3(activity);
                            break;
                        case 3:
                            MediaUtils.openfile4(activity);
                            break;
                        default:
                            return;
                    }
                });
        builder.show();


    }

这是我的 style.xml 代码

<style name="re" parent="@android:style/Widget.Holo.ActionBar.Solid">
    <item name="android:background">@color/colorPrimary</item>
    <item name="colorAccent">#fff</item>
    <!--title-->
    <item name="android:textColor">#fff</item>
    <!--text-->
    <item name="android:textColorPrimary">#fff</item>
    <!--selection list-->
    <item name="android:textColorTertiary">#fff</item>
</style>

标签: androidtext

解决方案


简单地说,您只需使用以下代码更改“file1”文本:

Html.fromHtml("<font color='#FFFFFF'>file1</font>")

此代码将根据您添加的颜色值完全改变您的文本颜色。所以你的字符串数组应该是这样的:

String[] items = {
    Html.fromHtml("<font color='#FFFFFF'>file1</font>"), 
    Html.fromHtml("<font color='#FFFFFF'>file2</font>"), 
    Html.fromHtml("<font color='#FFFFFF'>file3</font>"),
    Html.fromHtml("<font color='#FFFFFF'>file4</font>")};

推荐阅读