美文网首页
安卓DataBinding学习

安卓DataBinding学习

作者: 程序猿的小生活 | 来源:发表于2018-08-23 09:39 被阅读6次
  1. 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.然后运行就会看到值被写入控件了

相关文章

网友评论

      本文标题:安卓DataBinding学习

      本文链接:https://www.haomeiwen.com/subject/amcpiftx.html