2011-09-19 20 views
5

Estoy poniendo un CheckBox sobre un fondo blanco. Se ve bien en dispositivos pre-Honeycomb, pero en Honeycomb, parece que el gráfico tiene una transparencia parcial y es blanco, por lo que cuando la casilla no está marcada, no puede verla.Android Honeycomb CheckBox sobre fondo blanco no se puede ver

He intentado utilizar el estilo Theme.Holo.Light de la siguiente manera:

<CheckBox android:text="" style="@android:style/Theme.Holo.Light" 
android:layout_marginLeft="5dip" android:id="@+id/checkBoxWifiOnly" 
android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

Esto parece tener ningún efecto. ¿Estoy escribiendo la sintaxis incorrectamente?

+0

Si mirando a la casilla de verificación personalizado, entonces sigue este [link] [1] [1]: http: // stackoverflow.com/questions/3569412/customize-check-box-preference –

+0

Gracias, pero no estoy buscando que sea una casilla de verificación personalizada, solo para cambiarla al estilo de casilla de verificación estándar en blanco, ahora mismo se trata de una casilla de verificación. negro para que no pueda ver la casilla cuando no esté marcado. – albnok

Respuesta

2

Está aplicando el tema de forma incorrecta. O aplique @android: style/Theme.Holo.Light a toda la aplicación/actividad en el AndroidManifest.xml, o use @android: style/Widget.Holo.Light.CompoundButton.CheckBox como el estilo de su CheckBox. También tenga en cuenta que el tema "Holo" está disponible solo en Honeycomb y superior.

Creo que tendrá que aplicar el tema a toda la aplicación, si desea que la casilla de verificación tenga un fondo diferente. Lo que pasa es que Widget.Holo.Light.CompoundButton.CheckBox y Widget.Holo.CompoundButton.CheckBox son los mismos y se extienden tanto el estilo Widget.CompoundButton.CheckBox, que tiene el "botón" conjunto de variables por el atributo de tema listChoiceIndicatorMultiple. El valor de este atributo es, de hecho, diferente para el tema claro y oscuro.

le sugeriría a crear su propio tema en valores/themes.xml archivo, así:

<style name="Theme.MyAwesomeApp" parent="@android:style/Theme.Light"> 
... 
</style> 

y en los valores -v11/themes.xml, así:

<style name="Theme.MyAwesomeApp" parent="@android:style/Theme.Holo.Light"> 
... 
</style> 

y luego otra vez en su AndroidManifest.xml, así:

<application android:theme="@style/Theme.MyAwesomeApp" ... > 
... 
</application> 

Tal vez también debe leer cómo funcionan los temas y estilos: https://developer.android.com/guide/topics/ui/themes.html

Cuestiones relacionadas