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 注解 就是 加载网络图片。第二个是加载本地图片
第三个是
当网络图片为空的时候 加载本地图片
非常的好玩。



