Android Establecer valores de textColor como Global

Estoy haciendo algunos tutoriales y traté de azar el textColor. Esto funciona bien utilizando el atributo en cada Widget de la disposición xml o el atributo de estilo. Pero me preguntaba si es posible definir un textColor global, por lo que veo que no lo es.

He encontrado una solución en estas páginas:

http://www.therealjoshua.com/2012/01/styling-android-with-defaults/

Understanding Android Themes and Styles

En mi pequeño programa estaba usando un EditText, RadioButton y Button. Si establezco el TextAppearance de cada Singel Widget con un bloque de estilo con el padre @android: TextAppearance los widgets perdieron sus otros atributos. Así que busqué el style.xml y theme.xml y encontré una solución muy corta:

<resources> <style name="MyTheme" parent="android:Theme.Holo.Light.DarkActionBar"> <item name="android:editTextColor">@android:color/white</item> <item name="android:textColorPrimaryDisableOnly">#FFFFFF</item> <item name="android:color/primary_text_light">#FFFFFF</item> </style> </resources> 

A pesar de que en el theme.xml se utiliza el color predefinido

 <style name="TextAppearance.Widget.Button" parent="TextAppearance.Small.Inverse"> <item name="android:textColor">@android:color/primary_text_light_nodisable</item> </style> 

Mi primera pregunta: ¿Hay una forma de sobrescribir el valor de @android: color / primary_text_light_nodisable como hice con los otros atributos?

En realidad creo que he resuelto el problema por mí mismo:

 <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="MyTheme" parent="android:Theme.Light"> <item name="android:textAppearance">@style/MyTextAppearance</item> <item name="android:textAppearanceButton">@style/MyTextAppearanceButton</item> <item name="android:editTextStyle">@style/MyEditTextStyle</item> <item name="android:radioButtonStyle">@style/MyRadioButtonStyle</item> </style> <style name="MyTextAppearance" parent="@android:style/TextAppearance"> <item name="android:textColor">@android:color/white</item> </style> <style name="MyTextAppearanceButton" parent="@android:style/TextAppearance.Widget.Button"> <item name="android:textColor">@android:color/white</item> </style> <style name="MyEditTextStyle" parent="@android:style/Widget.EditText"> <item name="android:textColor">@android:color/white</item> </style> <style name="MyRadioButtonStyle" parent="@android:style/Widget.CompoundButton.RadioButton"> <item name="android:textColor">@android:color/white</item> </style> </resources> 

Así que mi segunda pregunta es, si esta es la manera correcta o hay un corto camino para cambiar el color del texto globaly?

Althoug Creo que la definición de todo esto en xml es el método más limpio, quería saber si usted sugiere para manipular esto a través de los métodos de clase?

Lo siento, soy bastante nuevo para Java y Android de programación y gracias por su ayuda!

Puede crear un colors.xml bajo res / values ​​y declarar sus colores globales desde aquí.

 <?xml version="1.0" encoding="utf-8"?> <resources> <color name="scheme">#007BB3</color> <color name="blue">#0000FF</color> <color name="white">#FFFFFF</color> <color name="grey">#C1C1C1</color> </resources> 
  • Cambiar grosor de la línea inferior de EditText cuando se envuelve en TextInputLayout
  • Aplicar estilo a Android ListView
  • ¿Cómo hacer que el botón no sea transparente?
  • ¿Cómo puedo establecer el estilo de un textView programatically?
  • Android: Cómo cambiar el color de título ListPreference?
  • Color de divisor de selección de pestañas de barra de acción
  • ¿El tamaño del texto de Spinner no cambia?
  • Cómo hacer referencia de dibujable a estilo
  • Quitar sombra de barra de acción mediante programación
  • No apuntar a las últimas versiones de Android
  • Color del fondo de la tostada que es cambiado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.