Как применить стили из styles.xml к span? - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь применить пользовательский стиль, определенный в styles.xml, к части строки в TextView.Я пытался использовать SpannableStringBuilder с StyleSpan, но это не сработало.Буду признателен за любые указания на это.Вот как выглядит мой код прямо сейчас:

styles.xml

<style name="damn_red">
     <item name="android:textColor">@color/f_red_800</item>
     <item name="android:background">@color/f_red_800</item>
     <item name="android:text">@color/f_red_800</item>
</style>

Activity.java

SpannableStringBuilder spannable = new SpannableStringBuilder();
spannable.append("Some ")
         .append("text ",  new StyleSpan(R.style.damn_red), Spanned.SPAN_INCLUSIVE_INCLUSIVE)
         .append("this is");
TextView textView = findViewById(R.id.mytextview);
textView.setText(spannable, TextView.BufferType.SPANNABLE);

Я просмотрел несколько вопросов здесь, но не смогне найти ни одного, который бы ответил на это.Был бы признателен за любые указатели здесь.Спасибо!

1 Ответ

0 голосов
/ 14 декабря 2018

A StyleSpan можно установить, будет ли текст жирным, курсивом или нормальным.

Интервал, позволяющий установить стиль текста, к которому он прикреплен.Возможные стили: Typeface.NORMAL, Typeface.BOLD, Typeface.ITALIC и Typeface.BOLD_ITALIC.

Я думаю, что вы ищете, TextAppearanceSpan.Из «Стили и темы» :

Одно ограничение для стилей заключается в том, что вы можете применять только один стиль к представлению.Однако в TextView вы также можете указать атрибут TextAppearance, который работает аналогично стилю ...

Приложение похоже на то, что вы делаете в данный момент.Если это не делает все, что вам нужно, взгляните на полный список типов диапазонов .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...