SpannableString: Можно ли применить два или более RelativeSizeSpans?

Я пытаюсь построить SpannableString так, чтобы он выглядел так:

enter image description here

Два символа (m, s) должны быть меньше остальных. Я попытался сохранить весь текст в одной SpannableString, а также попытался объединить две SpannableString через SpannableStringBuilder. Код для одного Spannable выглядит так:

spannable.setSpan(new RelativeSizeSpan(0.75f), spannable.length() - 1, spannable.length(), 0);

Однако применяется только одно форматирование - при использовании SpannableStringBuilder только "m" меньше, а при использовании одной SpannableString для всего текст, только буква «s» меньше.

Отладка также показала, что Spannables, похоже, содержат только один экземпляр RelativeSizeSpan, то есть может быть только один Span одного типа. Это истинное или ожидаемое поведение? Было бы целесообразно вместо этого объединить TextViews?

РЕДАКТИРОВАТЬ: Кстати, я пытаюсь удалить здесь вызов HTML.fromHtml () по соображениям производительности (многие вызовы GC ).

40
задан manmal 21 October 2011 в 15:35
поделиться