String组合
<string name="common_percent">%1$s%2$s</string>
<data >
<variable
name="value"
type="int"/>
</data>
android:text="@{@string/common_percent(Integer.toString(value),ConstantData.PERCENT_SYM)}"
public static final String PERCENT_SYM = "%";
对于非string类型,需要进行转换Integer.toString(value),如要用到“%“,直接放在strings.xml中会出错,这边在java里面定义:
public static final String PERCENT_SYM = "%";
View或layout背景设置
<data >
<variable
name="id"
type="int"/>
</data>
<RelativeLayout
android:id="@+id/id_group_one_bg"
android:layout_width="208px"
android:layout_height="340px"
android:layout_marginTop="5px"
app:backgroundResource = "@{id}">
</RelativeLayout>
对于ImageView,因为对应setter的参数不是一个int的id,所以不能用android:src="@{id}"
或者android:background="@{id}"
,需要设置ImageView的src或者backround,可以使用app:backgroundResource,或者使用@BindingM