我将如何使用 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) }
     }