Data Binding自定义属性需要使用到BindingAdapter
什么是BindingAdapter
BindingAdapter用来设置布局中View的自定义属性,当使用该属性时,可以自定义其行为。

例如
@BindingAdapter(“android:bufferType”)
public static void setBufferType(TextView view, TextView.BufferType bufferType) {
view.setText(view.getText(), bufferType);
}
当一个方法加上@BindingAdapter注解后,就定义了一个BindingAdapter,注意方法的第一个参数是需要绑定到的View,第二个参数是绑定的属性值。
当定义完成后,此时我们就可以在布局的View中使用该属性,举例如下:

当TextView中加入了android:bufferType=”normal”后,setBufferType()方法就会被调用。

自定义图片加载的BindingAdapter

由于BindingAdapter的特性,我们就可以为ImageView自定义一个BindingAdapter,从而大幅简化图片加载的过程。
第一步,我们先新建一个ImageBindingAdapter的类,图片相关的BindingAdapter可以都定义在这个类里面:

public class ImageBindingAdapter {

@BindingAdapter("imageUrl")public static void bindImageUrl(ImageView view, String imageUrl){    RequestOptions options =            new RequestOptions()            .centerCrop()            .dontAnimate();    Glide.with(view)            .load(imageUrl)            .apply(options)            .into(view);}

}

定义好后,我们就可以直接在布局中使用这个属性了:

参考文档
1、Android开发教程 - 使用Data Binding(七)使用BindingAdapter简化图片加载
https://blog.csdn.net/SanCava/article/details/82624596

2、Android进阶十四:Databinding之@BindingAdapter和Component
https://blog.csdn.net/lixpjita39/article/details/79054052

更多相关文章

  1. 管理应用自启动的方案
  2. 学习android的布局
  3. 自定义Dialog的几种实现方式
  4. android BaseAdapter优化
  5. android R文件生成错误
  6. Android简单明了的使用属性动画ObjectAnimator 旋转 平移 渐变
  7. Android(安卓)定制RadioButton样式
  8. Android中View绘制优化二一---- 使用标签复用布局文件
  9. A3```在android native c里打log

随机推荐

  1. Android(安卓)UI开源软件(三)
  2. Android(安卓)OpenGL学习笔记(二)之----
  3. Android缓存的一个Demo
  4. Android-studio与Android常见的Error与坑
  5. Android-防止事件导致的oncreate的多次调
  6. android中的通知
  7. Android学习笔记―第十一章 Fragment
  8. 【Android】报错:Can't create handler in
  9. Android判断WIFI是否打开的方法
  10. Android(安卓)Trick 1: 使用View来制作专