DataBinding是一个support library,所以它可以支持所有的android sdk,最低可以到android2.1(API7)。
使用DataBinding需要Android Gradle插件的支持,版本至少在1.5以上,需要的Android studio的版本在1.3以上。
在Android Studio上使用,需要在module级别的build.gradle上添加对DataBinding的支持:
首先我们要集成环境
buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } dataBinding { enabled = true }
使用databing 写布局的时候 跟布局是一个layout 下面我们来看看 布局的书写
<?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <data> <variable name="student" type="com.example.mqtt.Student" /> <variable name="onClick" type="android.view.View.OnClickListener" /> </data> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> //主界面布局 <include layout="@layout/activity_main" /> </LinearLayout> </layout>
其中 标签 variable中 student 是你需要绑定的类 onclick 是一个继承android.view.View.OnClickListener的一个点击时间
下面我们来看看代码
TestBinding binding;
binding=DataBindingUtil.setContentView(this,R.layout.test); binding.setOnClick(this);
这里的TestBingding 是自动生成的文件 这个是根据你的布局进行生成的 你只需要直接使用就行
binding.setOnClick(this); 这个方法就相当之前我们写的实现View.onclicklistner()的方法 注意这个方法是你在布局里面写的方法
name="onClick" 这个
接下来我们看看如何将student 绑定到布局里面
这个就是databing的简单使用 稍后我将会继续提供databing的高级使用
binding.setStudent(new Student("11","11",11));
这样就可以把我们写好的类绑定到布局里面
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@{student.name}"/> 这样我们就可以将name属性设置到textview里面