2010-12-03 20 views
6

Hola, estoy tratando de cambiar el color del texto de los elementos en una lista en una ventana emergente ListPreference. He pasado más de una hora mirando todos los diferentes nombres de estilo pero no puedo encontrar TextAppearance ni nada que vaya a este texto en particular. ¡Gracias por tu ayuda!Cómo se cambia el color del texto de los elementos de la lista en un AlertDialog

+0

alguna idea de cuál es el estilo de la ListPreference para usar? Puedo decirte que tuve el mismo problema con los cuadros de diálogo (fondo) y encontré que hay un C'tor que incluye un tema como int para que yo lo use para poder heredar del Dialog.Theme original y cambiar mis propias propiedades. – codeScriber

+0

No, esa es esencialmente mi pregunta, ¿qué estilo debo anular para cambiar el color del texto en 'ListView' para' AlertDialog' – schwiz

+0

ya que su pregunta tiene que ver con ListPreference y nunca he hecho nada con eso ... No estoy seguro de que esto lo ayude ... sin embargo, en referencia a un ListView en un AlertDialog, puedo ayudarlo con eso. http://www.anddev.org/code-snippets-for-android-f33/icon-list-in-alertdialog-t49975.html – androidworkz

Respuesta

1

No puede y no debe. *Preference utiliza estilos de com.android.internal.R.styleable que pueden ser cambiados por los fabricantes. La idea de utilizar los predeterminados es que cada pantalla de preferencias en su dispositivo se parece.

Por otro lado se puede intentar hacer una Activity con android:theme="@android:style/Theme.Dialog" en AndroidManifest de su aplicación y colocar un ListView estilo que desee.

+0

No he aplicado el tema a la Preferencia en sí, sino al AlertDialog. El tema se ve muy bien en todos los otros AlertDialogs, pero el efecto secundario desafortunado es 'ListPreference' también utiliza un' AlertDialog', así que ahora tengo mi fondo oscuro y el texto no se puede leer. Puedo hacer un estilo de caso especial para mi 'PreferenceActivity' que no anula el tema' AlertDialog', pero sería bueno si pudiera coincidir con el resto de la aplicación .. – schwiz

+0

Si está cambiando el tema, simplemente cree un nuevo actividad con estilo Theme.Dialog y haga lo que quiera en él. – Macarse

+0

Preference.DialogPreference es el estilo del elemento primario de ListPreference, no parece ser un estilo directo de ListPreference. Puede anular ese estilo específico en el tema y aplicarlo a todas las actividades, esto no afecta a todos los AlertDialogs. – codeScriber

-1

Realmente no sé qué tipo de View usa ListPreference, probablemente es algo así como TextView. Si es así, podría hacer smth como:

TextView textView; 
String myString; 
//.... 
SpannableString spanString=new SpannableString(myString); 
spanString.setSpan(new ForegroundColorSpan(Color.RED), 0, myString.length(), Spanned.SPAN_INCLUSIVE_INCLUSIVE); 
textView.setText(spanString); 
+0

no, esta no es la respuesta, en primer lugar, ¿cómo conseguirías un referencia al 'TextView' Estoy buscando una manera de solucionar esto a través de los estilos. Gracias. – schwiz

Cuestiones relacionadas