【问题标题】:Making multiple parts of a SpannableStringBuilder Bold使 SpannableStringBuilder 的多个部分加粗
【发布时间】:2020-04-23 11:32:03
【问题描述】:

我正在尝试在 TextView 中获取一个字符串,该字符串应如下所示:

BOLD不加粗BOLD不加粗

我试过这段代码:

val builder = SpannableStringBuilder()
val boldSpan = StyleSpan(Typeface.BOLD)
val spanFlag = Spannable.SPAN_EXCLUSIVE_EXCLUSIVE

builder.append("BOLD ", boldSpan, spanFlag)
builder.append("not bold ")
builder.append("BOLD ", boldSpan, spanFlag)
builder.append("not bold ")

return builder

问题是它只加粗了最后一部分。结果如下所示:

BOLD 不加粗BOLD 不加粗

有什么方法可以使用 SpannableStringBuilder 将多个部分加粗?

【问题讨论】:

    标签: android kotlin textview spannablestring spannable


    【解决方案1】:

    使用两个不同的跨度:

    val builder = SpannableStringBuilder()
    val spanFlag = Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
    
    builder.append("BOLD ", StyleSpan(Typeface.BOLD), spanFlag)
    builder.append("not bold ")
    builder.append("BOLD ", StyleSpan(Typeface.BOLD), spanFlag)
    builder.append("not bold ")
    
    return builder
    

    【讨论】:

    • 不敢相信我没有尝试过这个,非常感谢它就像一个魅力!
    猜你喜欢
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    相关资源
    最近更新 更多