2011-04-06 14 views
9

Quiero cambiar el aspecto de la pantalla de preferencias para una aplicación en la que estoy trabajando. En algunos teléfonos, las preferencias son muy translúcidas y es bastante difícil leer el esquema de preferencias, por lo que voy a cambiar las imágenes para ello.Usar un tema para la pantalla de preferencias

Mi pregunta es ¿cómo puedo aplicar un tema al esquema de preferencias? O en su defecto, ¿cómo puedo cambiar el color del texto que aparece para las diversas preferencias?

En mi versión actual, mi archivo de preferencias de diseño xml comienza con:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#ffa0a0a0"> 

Este color de fondo me da una gris aceptable, pero yo preferiría usar un tema.

Intenté poner una aplicación un par de temas diferentes en las preferencias xml y el diseño de preferencias xml y nada de esto ha mostrado ningún efecto. También intenté establecer andoid: textColor para los elementos de preferencias individuales y en el diseño, y eso no tuvo ningún efecto.

Entonces, ¿cómo se modifican las imágenes para el esquema de preferencias (preferiblemente mediante el uso de un tema)?

gracias de antemano,

Jay

+0

Gracias. Exactamente lo que necesitaba saber – jbww

Respuesta

24

Las cosas básicas son:

  1. un tema para su actividad preferencias que define estilos para los widgets preferentes y otras cosas. Echar un vistazo al primer tema en themes.xml - esto define el fondo de la ventana, estilos de texto y los estilos de preferencias (preferenceScreenStyle, preferenceCategoryStyle etc)
  2. Algunos estilos para cada uno de los widgets de preferencia (que se hace referencia en themes.xml). Por ejemplo, en styles.xml definen los estilos Preference.Category y Preference.PreferenceScreen.
  3. Aplica el tema a tu actividad. En su cambio manifiesta su etiqueta de actividad de apertura para la actividad de las preferencias de <activity android:theme="@style/CustomTheme"...

Si desea heredar los estilos por defecto de Android y luego simplemente anular algunos de ellos, a continuación, añadir parent="@android:style/Theme" a la etiqueta de apertura <style... de su tema.

Eche un vistazo a Applying Styles and Themes para obtener más información.

+1

El enlace themes.xml está roto – HGPB

+5

themes.xml: https://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/themes.xml – HGPB

+4

styles.xml: https: // github. com/android/platform_frameworks_base/blob/master/core/res/res/values ​​/ styles.xml – HGPB

Cuestiones relacionadas