android MVVM开发框架——(4)DataBinding绑定view自定义属性

来源:互联网 发布:app store付费软件 编辑:程序博客网 时间:2024/05/19 21:41

通常情况下我们会自定义标签来自定义view的属性供我们自己使用,但是如何在databinding中添加自定义属性呢?
我们来看看

1,在xml中定义属性

<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto">    <data>        <!--通过自定义的data来赋值,data的类型定位string-->        <variable            name="data"            type="String"/>    </data>    <LinearLayout        android:layout_width="match_parent"        android:layout_height="match_parent"        android:orientation="vertical">       <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            app:data="@{data}" />    </LinearLayout></layout>

2,在activity中调用它

public class RecyclerViewActivity extends Activity {    ...    //获取自定义属性    @BindingAdapter("data")    public static void setData(TextView textView, final String data) {        Log.e("testaaa", "xml中的数据:" + data);    }    @Override    public void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        recyclerViewBinding = DataBindingUtil.setContentView(this, R.layout.activity_recycler_view);        //给自定义标签设置值        recyclerViewBinding.setData("这是一个自定义属性");    }    ...}

会在日志里舒输出:这是一个自定义属性。

关键在于:@BindingAdapter(“data”)

这个用于绑定binding中自定义的属性

Demo下载

原创粉丝点击