Установите текст в текстовом режиме жирным шрифтом, но не все - PullRequest
0 голосов
/ 17 января 2020

Есть ли возможность задать текст полужирный . Например:

<TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:autoLink="all"
            android:textColor="#000000"
            android:textColorLink="#004c93"
            android:text="Hello everyone, I am Max!"/>

«Привет всем» должен иметь нормальный font-style, но «Я Макс!» должно быть выделено жирным шрифтом. Есть ли в любом случае, как в html Я могу использовать <strong></strong>?

У меня есть текст с около 400 строк, и текст находится в каталоге значений а точнее в strings.xml.

Ответы [ 2 ]

2 голосов
/ 17 января 2020

Из Android документов: https://developer.android.com/reference/android/text/style/StyleSpan

 SpannableString string = new SpannableString("Bold and italic text");
 string.setSpan(new StyleSpan(Typeface.BOLD), 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
 string.setSpan(new StyleSpan(Typeface.ITALIC), 9, 15, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

Затем позвоните textView.setText(string);, как вы обычно это делаете.

РЕДАКТИРОВАТЬ: Вы также можете попробовать используя HtmlCompat.fromHtml(html, HtmlCompat.FROM_HTML_MODE_LEGACY);, который также возвращает Spanned своего собственного.

Однако, если вы помещаете этот html в качестве строкового ресурса, вам нужно будет экранировать некоторые XML символов.

0 голосов
/ 17 января 2020

Существует класс Html, который помогает нам использовать Html текст в android view

Точно так же

textview.setText(Html.fromHtml("Hello everyone, <strong>I am Max!</strong>"));

это будет выглядеть так

Привет всем, Я Макс!

...