android中引入Data Binding已经两年了。终于可以告别findViewById(),butterknife了。怎样配置初步使用有很多资料,下面主要介绍一些实际的应用场景,如何设置view一些基本属性以实现减少activity,fragment中减少逻辑代码。
优点:
- 去掉大部分UI相关代码(比如findViewById、setOnClickListener、setText等),使activity,fragment代码更加简洁。
- xml变成UI的唯一真实来源,数据绑定也直接发生在xml,不会在出现UI子线程中操作的问题了
- 实现view 基本属性设置在XML布局文件中完成。view中常见的动态属性:(android:text,android:textColor,android:background,android:visibility,android:onClick,(ImageView)android:src)
需要注意的坑:
- 无法定位错误。(复制拷贝layout文件属性值配置出错)这是一个让人崩溃的问题,特别是初次使用,一旦出错所有使用databinding的xml都跳出来。
- 无法定位错误。(window环境可能因为环境变量未配置,字符串编译默认类型不是UTF-8,编译出错)
- RecycleView 中使用
- item中图片等绑定