2011-08-16 20 views
6

Tengo un par de elementos de preferencias personalizadas - uno que muestra una muestra del color seleccionado en ese momento, y otro que muestra una miniatura.título preferencia Android estilo de texto/Resumen

Tengo un diseño personalizado para estos que coincide muy bien, y he descubierto que puedo hacer que coincida la apariencia del texto usando android: textAppearance = "? Android: attr/textAppearanceLarge" como parte del xml de TextView. El problema es que, aunque estos generalmente se ven bien, no deben ser la apariencia que usan las preferencias 'oficiales', ya que los colores terminan mal en algunos dispositivos. En particular, estoy portando mi aplicación al Nook Color, y utiliza un fondo gris claro y un color de texto negro en la pantalla de preferencias en lugar de fondo negro/texto gris claro. El color de mi texto en esta situación permanece igual, pero el resto de mi diseño tiene el tema apropiado.

estoy muy seguro de lo que tengo que hacer aquí para hacer mi texto coincide con el tema 'oficial'. ¿Debería usar getStyledAttributes y ejecutar mi diseño para configurar cosas? Los tutoriales que he visto sobre el uso que hasta ahora han sido muy desconcertante, y parece que tiene que haber una textAppearance o estilo que pueda establecer en el XML para solucionar este problema.

Respuesta

0

usted tiene que definir su propio tema de aplicación que hereda del tema oficial que desea. En realidad, sólo puede definir un tema MyTheme extender el Theme.Light por ejemplo.

Crear un archivo res/values/styles.xml así:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="MyTheme" parent="@android:style/Theme.Light"> 
    </style> 
</resources> 

A continuación, sólo tiene que aplicar su tema con el atributo de la entidad android:themeapplication de su AndroidManifest.xml:

<application android:theme="@style/MyTheme"> 
    [...] 
</application> 
Cuestiones relacionadas