2015-02-10 9 views
7

Sto provando a cambiare il colore del testo nelle finestre di dialogo, più comunemente AlertDialog. Ho provato ogni soluzione a queste pagine:Cambia il colore del testo della finestra di dialogo su 5.0 +

AlertDialog styling - how to change style (color) of title, message, etc

How can I change the color of AlertDialog title and the color of the line under it

How to change theme for AlertDialog

La maggior parte delle soluzioni di lavoro inferiore a 5,0 ma sopra di esso, e loro non sembrano avere alcun effetto. Quali diversi attributi dovrei cambiare per 5.0+?

Il tema genitore della mia app è "Theme.AppCompat.Light.NoActionBar"

risposta

31

Nel tuo caso, penso che il tema finestra avrebbe funzionato.

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), R.style.YourDialogStyle; 

È possibile specificare il tema finestra, proprio come il codice di cui sopra.

<style name="YourDialogStyle" parent="Theme.AppCompat.Light.Dialog"> 
    <item name="android:colorAccent">@color/primary</item> 
    <item name="android:textColor">@color/accent</item> 
    <item name="android:textColorPrimary">@color/primary_dark</item> 
</style> 

Ecco l'esempio di tema per Dialog.

  • Android: colorAccent influenzerà i colori del testo di pulsanti negativi o positivi.
  • android: textColor influenzerà il colore del testo del titolo della finestra di dialogo.
  • android: textColorPrimary influenzerà il colore del messaggio della finestra di dialogo.

Un'altra opzione è che è possibile creare il proprio layout personalizzato per la finestra di dialogo.

Problemi correlati