带自定义变量的 DataBinding(intboolean)

有时我们需要执行基于单个值的隐藏/显示视图等基本操作,对于我们无法创建模型的单个变量,或者为此创建模型不是好的做法。DataBinding 支持基本数据类型来执行这些操作。

<layout xmlns:android="http://schemas.android.com/apk/res/android">

    <data>

        <import type="android.view.View" />

        <variable
            name="selected"
            type="Boolean" />

    </data>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello World"
            android:visibility="@{selected ? View.VISIBLE : View.GONE}" />

    </RelativeLayout>
</layout>

并从 java 类中设置其值。

binding.setSelected(true);