0
点赞
收藏
分享

微信扫一扫

ViewBinding的使用和databinding的比较

在觉 2021-09-27 阅读 43

使用方法:


在module的gradle文件下加入

android {
   ....
    viewBinding {
        enabled = true
    }
}

加入之后ViewBinding后,创建的每一个xml布局都会生成一个对应的xxxbinding
比如一开始生成的activity_main.xml对应的文件就是 ActivityMainBinding

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        val binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
    }
}


上面的三个属性是layout 布局文件的id。
另外还有个方法 就是getRoot 方法 返回对应跟布局view。
如果不想生成就在对layout 的根布局里面加上属性 tools:viewBindingIgnore="true"

总结
相较于databinding的区别 viewbinding 的功能好像更少无法进行双向绑定。
但是它的优点也是明显的不需要对原有的xml 文件进行侵入。而databinding 首先是侵入式的。
且在xml 进行这种绑定也容易带来很多问题

思考
一个库功能是否复杂也许并不重要,而是适用于所对应的环境。并且对原有代码影响越少越好

举报

相关推荐

0 条评论