1、数据绑定库是一个支持库,允许您使用声明式格式将布局中的UI组件绑定到应用程序中的数据源。这样不仅提高应用性能,而且有助于防止内存泄漏以及避免发生空指针异常。例如:
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="viewmodel"
type="com.myapp.data.ViewModel" />
</data>
<ConstraintLayout... /> <!-- UI layout's root element -->
</layout>
注意:为了只替代findViewById,可以使用视图绑定。
视图绑定与数据绑定的区别:
视图绑定和数据绑定库均会生成可用于直接引用视图的绑定类。不过,这两者之间存在明显差异:
- 数据绑定库仅处理使用
<layout>
代码创建的数据绑定布局。 - 视图绑定不支持布局变量或布局表达式,因此它不能用于在 XML 中将布局与数据绑定。
总结:视图绑定更加笼统,整个module都是视图绑定,根据xml,不过可以忽略部分布局。但是没有数据绑定灵活。
2、使用参考文章
https://www.jianshu.com/p/7de37ca38d0e
自定义控件使用:https://blog.csdn.net/qq_35201868/article/details/79570560