Android 将SpannableStringBuilder的多个部分设置为粗体
我正在尝试在TextView中获取一个字符串,该字符串应如下所示: 加粗不加粗加粗不加粗 我尝试过以下代码:Android 将SpannableStringBuilder的多个部分设置为粗体,android,kotlin,textview,spannablestring,spannable,Android,Kotlin,Textview,Spannablestring,Spannable,我正在尝试在TextView中获取一个字符串,该字符串应如下所示: 加粗不加粗加粗不加粗 我尝试过以下代码: val builder = SpannableStringBuilder() val boldSpan = StyleSpan(Typeface.BOLD) val spanFlag = Spannable.SPAN_EXCLUSIVE_EXCLUSIVE builder.append("BOLD ", boldSpan, spanFlag) builder.append("not b
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
问题是,它只是在最后一部分加粗。结果如下所示:
粗体不粗体粗体不粗体
是否有任何方法可以使用SpannableStringBuilder加粗多个零件?使用两个不同的跨距:
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
真不敢相信我没试过这个,非常感谢。它很有魅力!