2017-09-14 69 views
1

我試圖在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

回答

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 
     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

0

我已經解決了添加這個項目的風格。

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

感謝

+1

是的!這一定是解決方案。 – Piyush

相關問題