Кнопка setText с Spannable не работает для Android 5.0 Lollipop

У меня простая Button :

 <Button android:id="@+id/test" android:textColor="@color/white" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

И попытайтесь изменить свойство текста:

 SpannableString span = new SpannableString(text); span.setSpan(new AbsoluteSizeSpan(8, true), 5, 10, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); testButton.setText(span); 

Он работает с Android 4.3, но не с 5.0.

Интересно, когда я меняю реализацию с Button на TextView она отлично работает для 5.0. Кажется, что-то с Button в Lollipop.

По умолчанию кнопки «Материал» стилизованы для отображения текста во всех шапках. Однако в AllCapsTransformationMethod используется AllCapsTransformationMethod используемая для капитализации, которая приводит к тому, что она отбрасывает Spannable data.

Вы можете переопределить стиль кнопки по умолчанию и отключить все шапки, указав android:textAllCaps="false" на вашей Button .

 <Button ... android:textAllCaps="false" /> 
Intereting Posts
AndEngine GLES2- IndexOutOfBoundsException внутри строки Entity.java: 1402 Как реализовать ListView с индексом fastscroll и albhabet Задержка приложения на Camera.Release () Как я могу сделать ящик навигации полностью закрывать левый ящик? Как сбросить представление в исходное состояние после использования аниматоров для анимации его некоторых свойств? Конфигурация Proguard для Android Support v4 22.2.0 Простая регистрация пользователя с помощью Amazon Cognito Удаление всех детских просмотров из представления Отсутствие эластичной прокрутки в ListView Установка apk, команда adb не найдена Как изменить цвет фона редактора Android Studio? Установить apk в фоновом режиме с помощью busybox Как обрабатывать «последний незавершенный блок в расшифровке» ActionDone imeOption не работает на EditText в Android 2.3 SQLiteStatement почему нет метода для оператора SELECT – любое обходное решение плюс почему нет потоковой безопасности