Как установить стиль текста в зависимости от условия? - PullRequest
0 голосов
/ 04 марта 2019

Мне нужно сделать стиль текста bold|italic или italic в зависимости от значения флага.Сейчас я пробую эти варианты:

android:textStyle="@{item.current ? bold|italic : italic}"
android:textStyle="@{item.current ? `bold|italic` : `italic`}"
android:textStyle="@{item.current ? Typeface.BOLD_ITALIC : Typeface.ITALIC}"

Но оба, конечно, не работают.

Как сделать это правильно?

ДОБАВЛЕНО
Я временно решил проблему, используя пользовательское связующее, но я хочу знать, есть ли у неговстроенный способ.

object TextViewBinder {

    @BindingAdapter("android:textStyle")
    @JvmStatic fun setRecyclerConfig(textView: TextView, typeface: Int) {
        textView.setTypeface(textView.typeface, typeface)
    }
}

android:textStyle="@{item.current ? Typeface.BOLD_ITALIC : Typeface.ITALIC}"
...