内容简介:通常我们会在 activity 里面调用 UI 框架层的方法声明 view。例如,下面的代码调用了下面的代码展示了如何使用
Data Binding
是一个支持库,它使用一种 声明的方式
代替 编码的方式
,用来绑定 UI 控件和数据源。
通常我们会在 activity 里面调用 UI 框架层的方法声明 view。例如,下面的代码调用了 findViewById()
声明了一个 TextView
控件,并且把它和 viewModel
的 userName
属性进行了绑定:
findViewById<TextView>(R.id.sample_text).apply { text = viewModel.userName } 复制代码
下面的代码展示了如何使用 Data Binding
在布局里面直接给 TextView
的 test
属性进行赋值。这么做的好处是不必再像上面的例子一样调用 Java 代码。注意在赋值表达式中使用的语法是 @{}
:
<TextView android:text="@{viewmodel.userName}" /> 复制代码
在布局里面直接绑定 UI 控件,可以减少在 activity 中 UI 框架方法的调用,这使得代码更加简洁、更容易维护。它还可以提升 App 的性能,避免内存泄漏和空指针异常。
使用
会分下面几个部分来展开介绍 Data Binding
。
1 环境准备
介绍了如何准备 Data Binding
的开发环境。
绑定表达式的使用建立了 view 和变量之间的联系。 Data Binding
会自动生成一些类用于绑定 view 和 数据。它提供了诸如 imports
、 variables
、 includes
等在布局中可以直接使用的特性。
这些特性可以和现有的布局很好地共存。比如,可以在绑定表达式中直接使用的变量是定义在 data
元素标签中的, data
元素标签是和布局的根元素标签同级的。它们都是 layout
标签的子元素,如下所示:
<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> 复制代码
Data Binding
提供了一些类和方法使得观察数据的变化变得很简单。你大可不必担心数据变化时刷新 UI 的问题。它提供了使对象、字段、集合变得可观察的方法。
4 生成绑定类( binding class
)
Data Binding
自动生成了一些类用来访问布局变量和 view。这一章会向你展示如何使用和自定义这些生成的绑定类。
5 绑定适配器( binding adapter
)
对于每一个绑定表达式,都会有相应的绑定适配器调用框架的方法去设置对应的属性或者监听器。比如,绑定适配器会调用 setText()
方法去设置 text
属性,或者调用 setOnClickListener()
方法去设置监听器。常用的一些绑定适配器,比如示例中用于 android:text
属性的绑定适配器,定义在 android.databinding.adapters
包中。你也可以自定义适配器,如下所示:
@BindingAdapter("app:goneUnless") fun goneUnless(view: View, visible: Boolean) { view.visibility = if (visible) View.VISIBLE else View.GONE } 复制代码
6 绑定 view 和其他架构组件
使用 Data binding
还可以将 view 和其他架构组件绑定,从而简化 UI 的开发。
7 双向数据绑定( two-way data binding
)
Data binding
支持双向数据绑定。既可以数据变化刷新 view,也可以 view 刷新更新数据。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据化运营速成手册
胡晨川 / 电子工业出版社 / 2017-4 / 55
《数据化运营速成手册》用于提升互联网公司员工的数据应用能力,即数据化运营能力。首先,从最常用的数据图表切入,帮助执行层正确地绘图,管理层正确地看图;接着,梳理运营中最基本的数据应用知识,涉及数据获取、数据清洗、数据认知、分析框架、指标体系、运营实验等内容。然后,介绍作者认为必要的统计学知识,包括假设检验、方差分析、回归分析和时间序列分解,并引入了管理科学中的规划求解方法。最后,介绍了数据分析工具的......一起来看看 《数据化运营速成手册》 这本书的介绍吧!