Data Binding 系列(一)概览

栏目: IOS · Android · 发布时间: 5年前

内容简介:通常我们会在 activity 里面调用 UI 框架层的方法声明 view。例如,下面的代码调用了下面的代码展示了如何使用

Data Binding 是一个支持库,它使用一种 声明的方式 代替 编码的方式 ,用来绑定 UI 控件和数据源。

通常我们会在 activity 里面调用 UI 框架层的方法声明 view。例如,下面的代码调用了 findViewById() 声明了一个 TextView 控件,并且把它和 viewModeluserName 属性进行了绑定:

findViewById<TextView>(R.id.sample_text).apply {
    text = viewModel.userName
}
复制代码

下面的代码展示了如何使用 Data Binding 在布局里面直接给 TextViewtest 属性进行赋值。这么做的好处是不必再像上面的例子一样调用 Java 代码。注意在赋值表达式中使用的语法是 @{}

<TextView
    android:text="@{viewmodel.userName}" />
复制代码

在布局里面直接绑定 UI 控件,可以减少在 activity 中 UI 框架方法的调用,这使得代码更加简洁、更容易维护。它还可以提升 App 的性能,避免内存泄漏和空指针异常。

使用

会分下面几个部分来展开介绍 Data Binding

1 环境准备

介绍了如何准备 Data Binding 的开发环境。

绑定表达式的使用建立了 view 和变量之间的联系。 Data Binding 会自动生成一些类用于绑定 view 和 数据。它提供了诸如 importsvariablesincludes 等在布局中可以直接使用的特性。

这些特性可以和现有的布局很好地共存。比如,可以在绑定表达式中直接使用的变量是定义在 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

《数据化运营速成手册》用于提升互联网公司员工的数据应用能力,即数据化运营能力。首先,从最常用的数据图表切入,帮助执行层正确地绘图,管理层正确地看图;接着,梳理运营中最基本的数据应用知识,涉及数据获取、数据清洗、数据认知、分析框架、指标体系、运营实验等内容。然后,介绍作者认为必要的统计学知识,包括假设检验、方差分析、回归分析和时间序列分解,并引入了管理科学中的规划求解方法。最后,介绍了数据分析工具的......一起来看看 《数据化运营速成手册》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具