在文本视图中将一些文本设置为粗体,但不是全部

Set some text bold in textview, but not everything

是否可以设置一些文本粗体。例如:

<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!"/>

"Hello everyone,"应该有一个正常的font-style,但是"I am Max!" 应该是粗体。 反正有没有像 html 我可以用 <strong></strong>?

我有大约 400 行的文本,文本位于 values 目录 中,更准确地说是在 strings.xml.

来自 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); 这也是 returns 一个 Spanned 自己的。

但是,如果您将此 html 作为字符串资源,则需要转义一些 XML 个字符。

有一个 Html class 可以帮助我们在 android view

中使用 Html 文本

就这样

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

这看起来像这样

大家好,我是Max!