1

有没有可能设置一些文本粗体。例如:

<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,但是“我是Max!” 应该是粗体的。无论如何,我可以使用html<strong></strong>吗?

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

4

2 回答 2

3

来自 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); which 也返回Spanned它自己的 a 。

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

于 2020-01-17T13:24:06.817 回答
0

有一个Html类可以帮助我们在 android 中使用 Html 文本view

像这样

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

这看起来像这样

大家好,我是麦克斯!

于 2020-01-17T13:41:35.223 回答