您的位置:首页 > 移动开发 > Android开发

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

2017-10-31 22:14 477 查看
通常情况下我们会自定义标签来自定义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下载

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android mvvm 开发框架