AlertDialogue中的文本颜色不变

时间:2017-09-14 03:41:18

标签: java android

我正在尝试在AlertDialogue中应用自定义颜色。它改变了文本颜色和背景颜色,但没有改变SingleChoiceItems文本颜色。您可以看到它的黑色,页面编号如下图所示。

enter image description here

我正在使用类似下面的代码

<style name="AlertDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="android:textColor">@color/TextColorLite</item>
        <item name="android:background">@color/colorPrimaryDarkLite</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">?attr/MainAccentColor</item>
        <item name="android:buttonBarButtonStyle">@style/DialogButtonStyle</item>
    </style>
    <style name="DialogButtonStyle" parent="@style/Widget.AppCompat.Button.ButtonBar.AlertDialog">
        <item name="android:textColor">?attr/TextColor</item>
        <item name="android:textStyle">bold</item>

    </style>

Dialoge的Java代码

AlertDialog.Builder builder = new AlertDialog.Builder(
                    getActivity(), R.style.AlertDialogTheme);
            builder.setTitle("Go to Page:");
            builder.setSingleChoiceItems(mPageOptions, mPageIndx - 1,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,
                                            int item) {
                            mOptionDiag.dismiss();
                            mPageIndx = item + 1;
                            updateQuotesListServer();
                            updatePageInfo();
                        }
                    });

            builder.setNegativeButton("Dismiss",
                    new DialogInterface.OnClickListener() {

                        public void onClick(DialogInterface dialog,
                                            int id) {

                        }

                    });
            mOptionDiag = builder.create();
            mOptionDiag.show();

我应该怎么做才能改变这种黑色文字颜色?

由于

2 个答案:

答案 0 :(得分:0)

在您的资源文件夹中打开styles.xml并添加自定义主题,例如:

<style name="radiobuttonstyle" parent="Material.Drawable.RadioButton">
    <!-- Hint color and label color in FALSE state -->
    <item name="android:textColorHint">@color/md_green_900</item>
    <item name="android:textSize">20sp</item>
    <!-- Label color in TRUE state and bar color FALSE and TRUE State -->
    <item name="colorAccent">@color/md_green_400</item>
    <item name="colorControlNormal">@color/md_green_900</item>
    <item name="colorControlActivated">@color/md_green_400</item>
</style>

并在你的布局中的RadioButton中添加它作为你的RadioButton的主题,如下所示:

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/radioyes"
        android:theme="@style/radiobuttonstyle"
        android:text="Yes"
        android:textColorLink="@color/md_light_green_900"
        android:textColorHighlight="@color/md_green_900"
        android:textColor="@color/md_light_green_900" />

PS:这是我自己的自定义单选按钮,因此它应该可以正常工作。

答案 1 :(得分:0)

我已经解决了这个项目的风格。

 <!--For List Text-->
<item name="textColorAlertDialogListItem">@color/TextColorLite</item>
<!--For Radio-->
<item name="android:textColorSecondary">@color/TextColorLite</item>

由于