Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将SpannableStringBuilder的多个部分设置为粗体_Android_Kotlin_Textview_Spannablestring_Spannable - Fatal编程技术网

Android 将SpannableStringBuilder的多个部分设置为粗体

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

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

加粗不加粗加粗不加粗

我尝试过以下代码:

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

真不敢相信我没试过这个,非常感谢。它很有魅力!