Как бы я масштабировал несколько промежутков, используя SpannableStringBuilder? - PullRequest
3 голосов
/ 25 января 2020

У меня есть этот работающий, но избыточный код:

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().

1 Ответ

3 голосов
/ 29 января 2020

Вы можете поместить все в одну гамму лямбды.

feedbackView.text = SpannableStringBuilder()
    .scale(.6f) {
        italic { append(getString(R.string.suggestion_prefix)) }
        .append("\n\n")
        .bold { append(s) }
     }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...