Android 5.0 hace que las casillas de verificación no seleccionadas sean invisibles cuando el fondo es blanco

Tengo una aplicación para Android que ha estado trabajando bien antes de Android 5.0. Con la actualización, me di cuenta de que las casillas de verificación y los botones de radio colocados en fondos blancos no son visibles si no están seleccionados. Por ejemplo, esto es lo que una casilla de verificación parece seleccionada y no seleccionada en jellybean:

Introduzca aquí la descripción de la imagenIntroduzca aquí la descripción de la imagen

Como puede ver, hay un cuadrado gris claro cuando la casilla de verificación no está seleccionada. Sin embargo, después de actualizar a lollipop, esto es lo que parece:

Introduzca aquí la descripción de la imagenIntroduzca aquí la descripción de la imagen

Por lo tanto, como puede ver, no hay cuadrado gris ni nada que sugiera que hay una casilla de verificación aquí. El mismo problema ocurre con los radiobotones. Realmente no quiero ir a través del dolor de la creación de nuevos dibujos sólo para este simple ting. He visto que las casillas de verificación en el menú de accesibilidad de Android 5 tienen un cuadrado bonito, pero no he descubierto cómo hacer que el mío se vea igual:

Introduzca aquí la descripción de la imagen

Intenté crear un nuevo proyecto de android y sólo agregar algunas casillas de verificación y botones de radio con un fondo blanco, pero todavía están invisibles cuando están desmarcadas. Estoy usando xamarin studio y c #, si eso hace alguna diferencia. De todas formas, entenderé cualquier código java que publiques.

Este es el aspecto de mi código de casilla de verificación:

<CheckBox android:layout_width="wrap_content" android:layout_height="0dp" android:id="@+id/chkSeleccionar" android:layout_gravity="right" android:gravity="center_vertical" android:clickable="false" android:focusable="false" android:scaleX="1.5" android:scaleY="1.3" android:layout_weight="50" /> 

Asegúrese de que está utilizando un tema Material para dispositivos Android 5.0, lo que garantizará que su estilo permanezca coherente con otros componentes. Busque un elemento android:theme en su archivo AndroidManifest.xml (ya sea en su aplicación o en una actividad individual), luego busque qué estilo se establece allí y compruebe el atributo parent para el estilo.

No pude conseguir el tema de trabajo, pero lo que funcionó para mí fue el siguiente:

 android:button="@drawable/abc_btn_check_material" android:buttonTint="@color/red" 

Ponga esto en su diseño XML CheckBox.

Solo cambia el

 android:buttonTint="YOUR COLOR" 

Funciona.

  • Cómo se utiliza la clase BluetoothA2dp en Xamarin
  • Xamarin C # - Android - Impedir que un AlertDialog cierre en PositiveButton haga clic
  • Use .GetMapAsync en lugar de otro método .getMap con Google Play Services (Xamarin)
  • Las compilaciones / implementaciones de Xamarin.Android son muy lentas. ¿Cómo acelerarlos?
  • Xamarin.Forms ListView: establece el color de resaltado de un elemento seleccionado
  • Cómo ocultar las pestañas de Android utilizando Xamarin Formulario renderizador personalizado?
  • Xamarin Android Player no puede ejecutar emuladores de API 21 o superior
  • Generación de ZeroMQ para el emulador de Android x86
  • Descenso Xamarin.Android
  • ¿Por qué la misma interfaz se procesa de manera diferente en un emulador y un dispositivo?
  • No se pueden analizar los datos xml a listview en xamarin android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.