El botón setText con Spannable no funciona para Android 5.0 Lollipop
button android-5.0-lollipop (1)
Por defecto, los botones Material están diseñados para mostrar texto en mayúsculas. Sin embargo, hay un error en AllCapsTransformationMethod
utilizado para las mayúsculas que hace que descarte datos de Spannable
.
Puede anular el estilo del botón predeterminado y desactivar las mayúsculas al especificar android:textAllCaps="false"
en su Button
.
<Button
...
android:textAllCaps="false" />
Tengo un Button
simple:
<Button
android:id="@+id/test"
android:textColor="@color/white"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
y tratar de cambiar la propiedad de texto por:
SpannableString span = new SpannableString(text);
span.setSpan(new AbsoluteSizeSpan(8, true), 5, 10, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
testButton.setText(span);
Funciona en Android 4.3 pero no en 5.0.
Lo interesante es que cuando cambio la implementación de Button
a TextView
funciona bien en 5.0. Parece ser algo con Button
en Lollipop.