本系列目录
- Android DataBinding(数据绑定)入门与实战(一)介绍
- Android DataBinding(数据绑定)入门与实战(二)集成与配置
- Android DataBinding(数据绑定)入门与实战(三)在Activity中的使用
- Android DataBinding(数据绑定)入门与实战(四)在Fragment中的使用
- Android DataBinding(数据绑定)入门与实战(五)数据绑定
- Android DataBinding(数据绑定)入门与实战(六)RecyclerView Adapter中的使用
- Android DataBinding(数据绑定)入门与实战(七)使用BindingAdapter简化图片加载
- Android DataBinding(数据绑定)入门与实战(八)使用自定义Interface
- DataBinding Android Studio不能正常生成相关类/方法的解决办法
什么是BindingAdapter
BindingAdapter用来设置布局中View的自定义属性,当使用该属性时,可以自定义其行为。
下面是一个简单的例子:
1 | "android:bufferType") ( |
当一个方法加上@BindingAdapter注解后,就定义了一个BindingAdapter,注意方法的第一个参数是需要绑定到的View,第二个参数是绑定的属性值。
当定义完成后,此时我们就可以在布局的View中使用该属性,举例如下:
1 | <TextView |
当TextView中加入了android:bufferType=”normal”后,setBufferType()方法就会被调用。
当自定义其它一些属性时,也遵循一样的规则。
自定义图片加载的BindingAdapter
由于BindingAdapter的特性,我们就可以为ImageView自定义一个BindingAdapter,从而大幅简化图片加载的过程。
第一步,我们先新建一个ImageBindingAdapter的类,图片相关的BindingAdapter可以都定义在这个类里面:
1 | public class ImageBindingAdapter { |
定义好后,我们就可以直接在布局中使用这个属性了:
1 | <ImageView |
仅仅简单的一行代码,就可以进行网络图片的加载了,是不是感觉这个世界简单了很多?
除了这种单个参数的BindingAdapter,它也支持多个参数,这也是BindingAdapter强大的地方。
总结
使用BindingAdapter可以大大简化一些重复代码,本文主要介绍了加载图片上的使用,你可以举一反三,用在更多的场景中使用,比如加载列表的数据等,这样做以后也可以使您的代码更加清晰高效。
如有更多疑问,请参考我的其它Android相关博客:我的博客地址