С привязкой данных мы теперь часто видим коды в файлах макета, например:
<Variable name="displayIt" type="Boolean"/>
а затем позже:
android:visibility="@{displayIt ? View.VISIBLE : View.GONE}"
(конечно, android.view.View сначала должен быть импортирован для View.VISIBLE и View.GONE, чтобы иметь какой-либо смысл)
Это упрощает управление просмотром. Это также говорит мне, что условные утверждения разрешены в XML-макете, но похоже, что мой google-fu слаб, я пробовал и не мог найти синтаксис для этого. Что делать, если я хочу использовать литералы? Что-то вроде:
android:text="{@isValid ? "valid" : "invalid"}"
(да, я знаю, что это глупый способ сделать это, я просто говорю о синтаксисе здесь). Или как насчет идентификаторов ресурсов? Может быть, как:
android:color="@{isValid ? R.color.green : R.color.red}"
Можно ли это сделать? Какой правильный синтаксис?