DataBinding是什么?
DataBinding是一种声明式的UI框架,动态的绑定控件,实现数据驱动UI ,DataBinding结合ViewModel,LiveData 等jetpack组件可以更好的编写Android项目代码。
DataBinding的基本使用:
1.首先添加配置依赖
具体使用方式就是在项目的 build.gradle文件里面添加
dataBinging{
enabled=true
}
2.创建布局文件
创建布局文件,并设置<layout></layout> 如下图所示
3.在界面中使用
一些常规操作DataBinding 都是满足的,唯有一些特定的情况下 比如TextView文本在特定的情况下,更换background
[]
4.下面列举一下viewBackgroud 的代码。viewColor的代码
这里使用自定义的属性去替代系统属性,(系统属性不支持进一步的扩展)
@JvmStatic
@BindingAdapter("viewColor")
fun setTextViewColor(view: TextView, color: String?) {
view.setTextColor(Color.parseColor(color))
}
@JvmStatic
@BindingAdapter("viewBackground")
fun setTextViewBack(view: TextView, drawable: Int) {
view.background = ContextCompat.getDrawable(view.context, drawable)
}
//其中ViewBack 指的是专门存放资源文件的类
object ViewBack {
const val back_cccccc_round4: Int = R.drawable.back_cccccc_round4_bg
const val back_f07350_round4: Int =R.drawable.back_f07350_round4_bg
}