2015-03-12 1 views
21

У меня есть простой Button:Кнопка SetText с Spannable не работает Android 5.0

<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.

+0

«Он работает с Android 4.3, но не с 5.0». - пожалуйста, определите, что здесь означает «не означает». Если вы имеете в виду, что ваш 'AbsoluteSizeSpan' потерян, это меня не шокирует, так как Android 5.0, похоже, хочет контролировать надписи больше, например, заставляя их делать все кепки. – CommonsWare

+0

@CommonsWare да, диапазон игнорируется. – mklimek

+0

Я бы ожидал, что есть много разработчиков, которые раздражены по умолчанию для Android 5.0 для всех шапок для заголовка. Если есть способ обхода этого поведения, это может также позволить вашему 'AbsoluteSizeSpan' продолжить работу. – CommonsWare

ответ

73

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

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

<Button 
    ... 
    android:textAllCaps="false" /> 
+15

Еще один момент Android Android ... когда у вас есть TextView с setAllCaps, установленным в true, Spannables перестает работать. В моем случае был ForegroundColorSpannable. Спасибо за ответ. – Michal

+0

Дополнительную информацию можно найти по адресу: http://stackoverflow.com/questions/32257606/imagespan-not-working-on-android-5/32867216?noredirect=1#comment53573775_32867216 –

 Смежные вопросы

  • Нет связанных вопросов^_^