引言:今天是第一天写文章,主要还是公司安排的任务完成了。作为刚入职场的新人,新接触和学习的东西是非常多的,当然遇到的问题也不少。这些东西虽然一时记住了,但是难免久了自己还是会忘记,今天有了这个机会,正好可以去完成我这个想法。一是对自己所学习了解的东西做一个经验总结,二是我的经验的分享也可能会帮助到和我遇到一样问题的人。
那么话不多说,进入正题:
1、引入
Android studio从3.6开始,就在Gradle中内置了ViewBinding,因此不需要添加其他的库来引入,只是在Android studio 3.6版本和4.0版本的引入方式有一点变化:
Android studio 3.6的引入方式:build.gradle(app)
android {
viewBinding {
enabled = true
}
}
Android studio 4.0的引入方式:build.gradle(app)
android {
buildFeatures {
viewBinding = true
}
}
到这里引入就完成了,是不是很简单!当然viewBinding的使用也非常简单,我们接着往下看。
2、使用
- 在Activity中使用,viewBinding的声明一般都采用懒加载
第一种方式:这里需要注意的是viewBinding一定要在setContentView之前初始化哦,因为你想要viewBinding生效,就必须要把 setContentView() 方法中的参数替换为 viewBinding.root。 这一点是很多新手程序员所忘记的。如果你在 setContentView() 方法后调用,那你的程序会因为viewBinding没有初始化而崩溃。
第二种方式:也是懒加载,但是使用起来更加的方便
刚刚接触的小伙伴可能不清楚 ActivityMainBinding是怎么来的,其实在这里我Activity的名字叫MainActivity,布局文件名字叫activity_main,而ActivityMainBinding就是根据布局文件名字自动生成的。命名规则也就是布局文件名字大驼峰加上Binding后缀完成。
注:在kontlin中,还可以用layoutInflater代替LayoutInflater.from(this)
声明好了之后,就可以通过viewBinding去调用布局文件里面的控件啦:
viewBinding.textView.text = "Hello!"
- 在Fragment中使用
- 在Adapter中使用
- 在include中 使用
//布局xml文件
<include
android:id="@+id/include"
layout="@layout/item_video"/>
//activity中掉调用
viewBinding.include.textView.text = "video"
注:textView是布局文件item_video中的控件
那今天的文章就到此结束啦,若发现有错误的地方,欢迎指出哦!