Android Switch widget textOn y textOff no funcionan en Lollipop

El comportamiento del widget de conmutador cambió en Lollipop (5.0).

<Switch android:id="@+id/switcher" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_marginBottom="16dp" android:layout_marginRight="8dp" android:layout_marginEnd="8dp" android:layout_toEndOf="@id/another_view" android:layout_toRightOf="@id/another_view" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:layout_alignParentBottom="true" android:textOff="@string/disabled" android:textOn="@string/enabled" android:fontFamily="sans-serif-condensed" /> 

Rendered switch when targetSdkVersion = 19:

Introduzca aquí la descripción de la imagen

Rendered switch when targetSdkVersion = 21:

Introduzca aquí la descripción de la imagen

Tenga en cuenta que la renderización de vista previa en Android Studio todavía produce un cambio con texto, pero el switch pierde su texto cuando un apk construido con targetSdkVersion = 21 se ejecuta en un dispositivo con Lollipop (Nexus 5). Ejecutar un apk construido con targetSdkVersion = 19 en el mismo dispositivo Lollipop rinde el switch correctamente con texto como se esperaba.

¿Por qué? ¿Sugerencias posibles?

El texto no se muestra de forma predeterminada en el tema Material, ya que los elementos del widget de conmutación no funcionan bien con el texto. Cualquier texto que se establezca se utilizará para describir el contenido a los servicios de accesibilidad.

Puede cambiar esto usando la propiedad android:showText o Switch.setShowText(boolean) .

 <Switch ... android:showText="true" /> 

Si utiliza conmutadores AppCompat, utilice app:showText .

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.