主布局
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bind="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.databinding.ObservableMap"/>
<import type="com.village.crops.utils.DataBindUtil"/>
<variable
name="main"
type="ObservableMap<String,Integer>"/>
<variable
name="click"
type="com.village.crops.activity.MainActivity"/>
<variable
name="imageUtil"
type="DataBindUtil"/>
<variable
name="imageUrl"
type="Integer"/>
</data>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/colorWhite"
android:orientation="vertical" >
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
</FrameLayout>
<include
android:id="@+id/village_base_bottom"
layout="@layout/village_bottom"
bind:main="@{main}"
bind:click="@{click}"
bind:imageUtil="@{imageUtil}"
bind:imageUrl="@{imageUrl}"/>
</LinearLayout>
引用布局
<?xml version="1.0" encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bind="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.databinding.ObservableMap"/>
<import type="com.village.crops.utils.DataBindUtil"/>
<variable
name="main"
type="ObservableMap<String,Integer>"/>
<variable
name="click"
type="com.village.crops.activity.MainActivity"/>
<variable
name="imageUtil"
type="DataBindUtil"/>
<variable
name="imageUrl"
type="Integer"/>
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/colorWhite"
android:gravity="center_vertical">
<LinearLayout
android:id="@+id/layout_home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1"
android:orientation="vertical"
android:onClick="@{click.onClick}">
<ImageView
android:id="@+id/img_home"
android:layout_width="30dp"
android:layout_height="30dp"
android:src='@{main["imgid"]}'
bind:imageUrl="@{imageUrl}"/>
<TextView
android:id="@+id/text_home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/VillageTextTheme"
android:text="@string/home_home"
android:textColor='@{main["textColor"]}'/>
</LinearLayout>
</LinearLayout>
Main代码
activityMainBinding = DataBindingUtil.setContentView(this,R.layout.activity_main);
ObservableArrayMap resourceMap = new ObservableArrayMap<>();
resourceMap.put("imgid",R.mipmap.icon_home_car_sel);
resourceMap.put("textColor", Color.RED);
activityMainBinding.setClick(this);
activityMainBinding.setMain(resourceMap);