我将如何使用 SpannableStringBuilder 扩展多个跨度?
How would I scale multiple spans using SpannableStringBuilder?
我有这个工作,但多余,代码:
feedbackView.text = SpannableStringBuilder()
.scale(.6f) { italic { append(getString(R.string.suggestion_prefix)) } }
.scale(.6f) { append("\n\n") }
.scale(.6f) { bold { append(s) } }
我如何重构它以便只有一次调用 .scale()
?
当我尝试这个时,只有第一个字符串被缩放:
feedbackView.text = SpannableStringBuilder()
.scale(.6f, { italic { append(getString(R.string.suggestion_prefix)) } })
.append("\n\n")
.bold { append(s) }
我无法弄清楚在 scale()
.
的 lambda 参数中包含所有内容的语法
您可以将所有内容都放在一个标度 lambda 中。
feedbackView.text = SpannableStringBuilder()
.scale(.6f) {
italic { append(getString(R.string.suggestion_prefix)) }
.append("\n\n")
.bold { append(s) }
}
我有这个工作,但多余,代码:
feedbackView.text = SpannableStringBuilder()
.scale(.6f) { italic { append(getString(R.string.suggestion_prefix)) } }
.scale(.6f) { append("\n\n") }
.scale(.6f) { bold { append(s) } }
我如何重构它以便只有一次调用 .scale()
?
当我尝试这个时,只有第一个字符串被缩放:
feedbackView.text = SpannableStringBuilder()
.scale(.6f, { italic { append(getString(R.string.suggestion_prefix)) } })
.append("\n\n")
.bold { append(s) }
我无法弄清楚在 scale()
.
您可以将所有内容都放在一个标度 lambda 中。
feedbackView.text = SpannableStringBuilder()
.scale(.6f) {
italic { append(getString(R.string.suggestion_prefix)) }
.append("\n\n")
.bold { append(s) }
}