SpannableStringBuilder str = new SpannableStringBuilder(decimalFormat.format(prizes[0])
+ "€");
str.setSpan(new StyleSpan(BOLD), 0, str.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
money.setText("paid | " + str);
Этот код должен производить тот же результат, как этот кодAndroid SpannableString (Builder) не применяется стилю
money.setText(Html.fromHtml("paid | <strong>" + decimalFormat.format(prizes[0])
+ "€</strong>")
Но это не так! Мой текст неполужирный. fromHtml()
один делает это жирным: Вот как я хочу, чтобы он появился, потому что над here они сказали, что это лучше в производительности, и я хочу использовать собственные функции для Android. Используя SpannableStringBuilder
, он отображает следующее: Без ничего жирного. Я также попытался использовать только SpannableString
вместо SpannableStringBuilder
, но это ничего не изменило. Что я делаю не так?
My money
переменная TextView
.
Correct. Оператор '+' представляет собой * string * concatenation, которая преобразует 'str' из' SpannableStringBuilder' в обычную неформатированную строку. Используйте 'TextUtils.concat()' для объединения нескольких объектов CharSequence вместе, которые работают с объектами 'String' и' Spannable', сохраняя ваши интервалы. – CommonsWare
или 'SpannableStringBuilder # insert()' method – pskink