@BindingAdapter 注解
databinding中自定义属性依赖于注解 @BindingAdapter
作用于方法(和类无关,这个自定义属性的方法可以写在任何地方)
它定义了xml的属性赋值的java实现(注解的方法中就是我们对这个控件进行处理)
方法必须为公共静(public static)方法,可以有一到多个参数。
简单实用
直接上代码
//“app:imgUrl” 这就是在xml中的属性
@android.databinding.BindingAdapter("app:imgUrl")
public static void setImgUrl(ImageView imageView, String url) {
GlideApp.with(imageView)
.load(url)
.into(imageView);
}
xml 中使用
<ImageView
android:id="@+id/img_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
app:imgUrl="@{user.url}"