警报对话框中的文本颜色不会更改

问题描述:

我试图在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> 

Java代码Dialoge

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(); 

我应该改变什么这个黑色文本颜色?

感谢

+0

请添加要使用这种风格的所有样式,它可以在其他风格 –

+0

我没有使用任何其他样式对话的问题。 – Priya

在你的资源文件夹打开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 
     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:那是我自己的自定义单选按钮,所以它应该工作。

+0

嗨!感谢您的快速回答。你可以请检查我编辑的问题。我已经添加了对话的java代码。它使用单选项目。对于发布中的某些错误感到抱歉谢谢 – Priya

+0

你试过我的代码吗? @Priya – Orvenito

+0

我不使用单选按钮...我应该在哪里放置单选按钮代码? – Priya

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

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

感谢

+1

是的!这一定是解决方案。 – Piyush