《第一行代码》阅读笔记(十七)——ViewBinding
我们在Android开发的过程中总是需要获取XML布局中的ViewId,以便给其赋值进行显示,早期我们只能使用 findViewById这个API,会导致很多的模版代码出现。2013年左右Android界大神 Jake Wharton开源了Butter Knife框架,通过Bind("viewid")方式方便开发者获取ViewId。近两年由于谷歌对Kotlin的支持,我们开始使用 Android Kotlin extensions。 在文件中导入布局文件直接引用viewId。无需做其他额外操作,最为方便。
目前,谷歌在 Android Studio 3.6 Canary 11 及更高版本中加入了新的视图绑定方式ViewBinding。
注意:要使用ViewBinding功能,AndroidStudio至少要升级到3.6。
导入依赖
在要使用ViewBinding的 module 的build.gradle文件中开启ViewBinding
android {
...
viewBinding {
enabled = true
}
...
}
Android Studio 4.0 后,使用这个依赖会报以下错误
DSL element 'android.dataBinding.enabled' is obsolete and has been replaced with 'android.buildFeatures.dataBinding'
所以修改成如下配置
buildFeatures{
viewBinding = true
}
dataBinding{
enabled true
}
使用教程
这是一篇非常好的文章,转载给大家。
基于ViewBinding的BaseActivity封装尝试
当我们知道如何在Activity中使用viewbinding后,那Fragment和Adapter中呢?
Android 视图绑定(ViewBinding)在Activity、Fragment和Adapter中的用法(java)
如果在使用的过程中$\color{#FF0000}{不想}$为某个布局文件生成binding类,则可以使用如下属性添加到布局的根视图中
<LinearLayout
...
tools:viewBindingIgnore="true" >
...
</LinearLayout>