美文网首页
Databinding使用篇四

Databinding使用篇四

作者: Method | 来源:发表于2021-01-03 14:06 被阅读0次

绑定适配器

是什么

dataBinding 提供了 BindingAdapter 这个注解用于支持自定义属性,或者是修改原有属性。注解值可以是已有的 xml 属性,例如 android:src、android:text等,也可以自定义属性然后在 xml 中使用

例如,对于一个 ImageView ,我们希望在某个变量值发生变化时,可以动态改变显示的图片,此时就可以通过 BindingAdapter 来实现

怎么用

需要先定义一个静态方法,为之添加 BindingAdapter 注解,注解值是为 ImageView 控件自定义的属性名,而该静态方法的两个参数可以这样来理解:当 ImageView 控件的 url 属性值发生变化时,dataBinding 就会将 ImageView 实例以及新的 url 值传递给 loadImage() 方法,从而可以在此动态改变 ImageView 的相关属性

单参数

<ImageView
   android:id="@+id/glideIv"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   app:loadImg="@{urlPath}" />
class MBindingAdapter {
    companion object{
        @JvmStatic
        @BindingAdapter("loadImg")
        fun loadImage(imageView: ImageView, url: String?) {
            Glide.with(imageView.getContext())
                .load(url)
                .into(imageView)
        }
    }
}

注意
1.需要放在静态方法里
2.kotlin需要加@JvmStatic 否则报错

多参数

class MBindingAdapter {
    companion object{
        @JvmStatic
        @BindingAdapter("loadImg","imgSize")
        fun loadImage(imageView: ImageView, url: String?,size:Float) {
            println("size--->$size")
            Glide.with(imageView.getContext())
                .load(url)
                .into(imageView)
        }
    }
}
 <ImageView
     android:id="@+id/glideIv"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     app:loadImg="@{urlPath}"
     app:imgSize="@{imgSize}"/>

相关文章

  • android databinding 初体验

    这是一篇databinding使用初体验,文章主要介绍了databinding使用,如何使用DataBinding...

  • Databinding使用篇四

    绑定适配器 是什么 dataBinding 提供了 BindingAdapter 这个注解用于支持自定义属性,或者...

  • DataBinding补坑

    上个星期咧写了篇databinding的入门使用 [DataBinding绑定控件]http://www.jian...

  • JetPack学习笔记之DataBinding(二)

    JetPack学习笔记之DataBinding(二) 上一篇文章中介绍了DataBinding的基本使用方法,通过...

  • ViewModel+LiveData+DataBinding使用

    ViewModel+LiveData+DataBinding使用 Android DataBinding 使用博客...

  • DataBinding

    dataBinding的使用 一、databinding的配置方法 二、databinding的基本使用 三、da...

  • DataBinding笔记1

    开启DataBinding 需要使用DataBinding 得xml文件 简单使用 textview 文本拼接使用...

  • Databinding使用篇二

    事件处理 方法引用 注意: 方法创建、参数、方法调用(应该只有一个view参数,带参数的可用监听器绑定) 如果想传...

  • Databinding使用篇三

    不可观察的数据对象 数据改变了,界面没有更新最新的数据 xml布局 数据对象 Activity 打印结果 I/Sy...

  • Databinding使用篇一

    是什么? 在布局xml中将控件和数据进行绑定,使数据变化可以驱动控件改变,控件改变可以驱动数据改变。 减少了Act...

网友评论

      本文标题:Databinding使用篇四

      本文链接:https://www.haomeiwen.com/subject/dfgeoktx.html