Android:如何在普通文本中使用粗体文本

时间:2015-10-03 13:15:01

标签: android layout text

我有以下TextView:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="This must be bold (but not this)" />

我只希望文本的一部分是粗体。因此android:textStyle="bold"将不起作用。

2 个答案:

答案 0 :(得分:2)

如果文本来自字符串资源,请像在HTML中一样使用<b>标记:

<string name="foo"><b>This must be bold</b> (but not this)</string>

如果文本来自其他地方,请使用SpannableStringBuilder将粗体部分包裹在a StyleSpan设置为粗体。或者,使用<b>标记生成字符串的HTML版本,并使用Html.fromHtml()创建Spanned。在任何一种情况下,Spanned / SpannableStringBuilder输出都会传递给setText(),这将以粗体显示所需的部分。

答案 1 :(得分:1)

你可以这样做,但我认为它对xml非常方便,因此你可以在html中创建一个字符串,并按照以下方式执行:

String sourceString = "<b>" + id + "</b> " + name; mytextview.setText(Html.fromHtml(sourceString));

其中id和name将是您班级中的两个不同文本

相关问题