3

我有这个工作但多余的代码:

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) }

我无法弄清楚将 lambda 参数中的所有内容包含到scale().

4

1 回答 1

3

您可以将所有内容放在一个比例 lambda 中。

feedbackView.text = SpannableStringBuilder()
    .scale(.6f) {
        italic { append(getString(R.string.suggestion_prefix)) }
        .append("\n\n")
        .bold { append(s) }
     }
于 2020-01-29T17:57:26.923 回答