1、公共布局:common_add_goods.xml
- 一个onClick方法
- 一个字段
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="onClick" type="android.view.View.OnClickListener" /> <variable name="hasGoodsData" type="Boolean" /> <import type="android.view.View" /> </data> <LinearLayout android:layout_width="match_parent" android:layout_height="89dp" android:layout_marginStart="18dp" android:layout_marginTop="15dp" android:layout_marginEnd="18dp" android:layout_marginBottom="80dp" android:background="@drawable/bg_white_corner_4" android:gravity="center" android:orientation="vertical" android:visibility="@{hasGoodsData?View.GONE:View.VISIBLE}"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableLeft="@drawable/icon_add" android:drawablePadding="7dp" android:gravity="center" android:onClick="@{onClick}" android:padding="5dp" android:text="@string/add_goods" android:textColor="@color/cl_333" android:textSize="16sp" /> </LinearLayout> </layout> |
2、使用公共布局
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <?xml version="1.0" encoding="utf-8"?> <layout xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools"> <data> <variable name="viewModel" type="com.kedacom.androidteam.trafficpoliceaffairs.viewmodel.checkpoint.inspect.InspectionDetailViewModel" /> <variable name="mActivity" type="com.kedacom.androidteam.trafficpoliceaffairs.view.activity.checkpoint.inspect.InspectionDetailActivity" /> <import type="com.kedacom.androidteam.trafficpoliceaffairs.R" /> <import type="com.kedacom.androidteam.trafficpoliceaffairs.constants.CheckpointConstant" /> <import type="android.view.View" /> </data> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <include layout="@layout/common_add_goods" app:hasGoodsData="@{viewModel.hasGoodsData}" app:onClick="@{()->mActivity.addGoods()}" /> </RelativeLayout> </layout> |
注意事项:
include文件中定义了hasGoodsData变量,使用时,app:+变量名,例如: app:hasGoodsData。