美文网首页
安卓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