栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Kotlin jetpack BindingAdapter 简单的给布局添加自定义属性

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Kotlin jetpack BindingAdapter 简单的给布局添加自定义属性

BindingAdapter 可以给布局加上自定义的注解进行自定义的处理。非常的好玩。

上布局文件




    

        

        
    

    

        
        

        

        

        
        

    

不出意外地个话,阁下应该没见过这些字段

因为这是自定义的

打开kapt

    implementation 'com.squareup.picasso:picasso:2.71828'

使用 picasso加载网络图片

新建

ImageViewBindingAdapter.kt

类 并只有这么些内容

package com.anguomob.jecpack.biningadapter

import android.graphics.Color
import android.text.TextUtils
import android.widget.ImageView
import androidx.databinding.BindingAdapter
import com.anguomob.jecpack.R
import com.squareup.picasso.Picasso

//加载网络图片
@BindingAdapter("image")
fun setImage(iv: ImageView, url: String) {
    if (TextUtils.isEmpty(url).not()) {
        Picasso.get().load(url).placeholder(R.mipmap.ic_launcher)
            .into(iv)
    } else {
        iv.setBackgroundColor(Color.GRAY)
    }
}

//加载本地图片
@BindingAdapter("image")
fun setImage(iv: ImageView, resId: Int) {
    iv.setImageResource(resId)
}


//当网络图片为空的时候 加载本地图片
@BindingAdapter(value = arrayOf("netWorkImage", "defaultLocalImage"), requireAll = false)
fun setImage(iv: ImageView, url: String?, resId: Int) {
    if (TextUtils.isEmpty(url).not()) {
        Picasso.get().load(url).placeholder(R.mipmap.ic_launcher)
            .into(iv)
    } else {
        iv.setImageResource(resId)
    }
}

第一个 

image 注解 就是 加载网络图片。第二个是加载本地图片

第三个是

当网络图片为空的时候 加载本地图片

非常的好玩。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/921880.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号