DataBindingLibrary译文-属性设置 属性设置当一个被绑定属性变更时,绑定类会自动调用通过表达式和view关联起来的set方法.databind框架通常会自动决定调用哪个方法去设置对应的值. 自动的set方法对应每个属性,databind会尝试寻找这个属性对应的set方法.该方法和命名空间无关,仅仅和属性名本身有关.例如,TextView通过android:text属性指定的表达式,将会寻找名为setText(String)的方法.如 2018-02-03 android
DataBindingLibrary译文-生成绑定 生成绑定自动生成的绑定类将layout中定义的变量和view关联起来.根据前面的讨论,绑定类的名字和所在的包名是可以定制的.共同点是:所有的绑定类都继承于ViewDataBinding. 生成绑定关系应该在解析完布局之后马上创建,防止后续的代码影响到布局结构.这里有几种方法可以对一个layout建立绑定关系,最常用的是使用绑定类的静态方法.inflate方法可以同时完成view层级解析和绑定关系建 2018-02-03 android
DataBindingLibrary译文-数据模型 数据模型任意POJO(简单java对象)都可以用于数据绑定.但是默认情况下,修改一个POJO的属性,并不会引发UI更新.databind真正的威力在于可以给予数据模型在数据发生变化时请求UI更新的能力.这里有3中不同的数据变更通知机制.Observable objects, observable fields, 和observable collections. Observable objects 2018-02-03 android
DataBindingLibrary译文-layout编码 Layout编码介绍Import你可以在data元素内部使用任意数量的import元素.类似于java中的import,这样可以很方便的导入其他的类. 1import type="android.view.View" 现在你可以在bind表达式中使用View的属性了. 12345<TextView android:text="@{user.las 2018-02-03 android
DataBindingLibrary译文-事件处理 事件处理databind机制允许你使用表达式来处理来自于view的事件,比如onclick.事件的名称和实际对应的listener方法名有关,有时间会有一些小变更.例如onLongClickListener有一个方法onLongClick,所以对应的事件为android:onLongClick.这里有两种方式去处理一个事件:方法引用:通过表达式,你可以将其指向与之参数匹配的listener方法.当 2018-02-03 android
DataBindingLibrary译文-前言+目录 写在前面由于项目的技术债务太多.一直没有时间转向真正的mvvm,趁着最近进入全速开发期,有一些空闲,好好把mvvm整一整. 首先从官方文档开始吧,一边阅读一边记录,把翻译内容记录下来,既增加自身理解,又方便后人. DataBindingLibrary这篇文档介绍了如何使用databind框架去编写内容更丰富的layout,并且尽量减少那些存在于业务逻辑和layout文件之间的胶水代码.译者注:比如 2018-02-03 android