我有以下TextView:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="This must be bold (but not this)" />
我只希望文本的一部分是粗体。因此android:textStyle="bold"
将不起作用。
答案 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将是您班级中的两个不同文本