我们可以阅读here,ViewBinding
和Databinding
之间的差别很小。
数据绑定库仅处理使用
<layout>
标签创建的数据绑定布局。视图绑定不支持布局变量或布局表达式,因此不能用于将布局与XML数据绑定。
开发人员还应该注意其他区别吗?为什么要创建差异如此小的新东西?
请有人解释
为什么要创建差异如此小的新东西?
视图绑定的构建时间比数据绑定的构建时间少得多,因为所涉及的工作量少得多。对于小型项目,这可能并不重要。对于大型项目,对构建时间的影响可能很大。
,这是您可能更喜欢视图绑定而不是数据绑定的原因之一:
数据绑定库仅处理使用
<layout>
标签创建的数据绑定布局。数据绑定布局文件略有不同,它们以layout的根标记开始,后跟一个数据元素和一个视图根元素
这在打算使用合并时会导致问题:
数据绑定不支持包含为合并元素的直接子元素。例如,不支持以下布局:
<?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:bind="http://schemas.android.com/apk/res-auto"> <data> <variable name="user" type="com.example.User"/> </data> <merge><!-- Doesn't work --> <include layout="@layout/name" bind:user="@{user}"/> <include layout="@layout/contact" bind:user="@{user}"/> </merge> </layout>