- DataBinding支持所有的android sdk,最低支持android2.1(API7)。
使用DataBinding需要Android Gradle插件的支持,版本至少在1.5以上,需要的Android studio的版本在1.3以上。
2.首先在module中的build.gradle加入以下配置
android {
dataBinding {
enabled = true
}
}
2.然后新建一个activity,比如我这里名称为activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">//此处注意标签layout
<data>
<variable name="user" type="com.test.liwei.User"/>//这个是新建的bean一会说到
</data>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:text="@{user.name}"//赋值
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:layout_marginTop="20dp"
android:layout_gravity="center_horizontal"
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="测试动画效果" />
<TextView
android:gravity="center"
android:textSize="20dp"
android:textColor="@color/colorAccent"
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@{user.sex}" />
</LinearLayout>
</layout>
4.新建一个activity,在onCrate中实现赋值
ActivityMainBinding binding = DataBindingUtil.setContentView(MainActivity.this, R.layout.activity_main);//ActivityMainBinding自动生成,名字为xml文件名字
User user = new User("nama", "sex");
binding.setUser(user);
5.新建一个User.java bean
package com.test.liwei;
import android.databinding.BaseObservable;
public class User extends BaseObservable {//此处需继承BaseObservable类
private String name;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public User(String name, String sex) {
this.name = name;
this.sex = sex;
}
}
6.然后运行就会看到值被写入控件了
网友评论