【问题标题】:Android: How to use bold text inside normal textAndroid:如何在普通文本中使用粗体文本
【发布时间】:2015-10-03 13:15:01
【问题描述】:

我有以下 TextView:

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

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

【问题讨论】:

    标签: android layout text


    【解决方案1】:

    如果文本来自字符串资源,请像在 HTML 中一样使用 &lt;b&gt; 标签:

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

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

    【讨论】:

      【解决方案2】:

      你可以这样做,但我认为使用 xml 非常方便,因此你可以在 html 中创建一个字符串,然后这样做:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-03
        • 2014-10-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多