kotlin中使用ViewBinding綁定控件的方法
kotlin中使用ViewBinding綁定控件
什么是ViewBinding?
- View Binding是Android Studio 3.6推出的新特性,主要用于減少findViewById的冗余代碼,但內(nèi)部實現(xiàn)還是通過使用findViewById。通過ViewBinding,可以更輕松地編寫可與視圖交互的代碼。在模塊中啟用ViewBinding之后,系統(tǒng)會為該模塊中的每個 XML 布局文件生成一個綁定類,綁定類的實例包含對在相應(yīng)布局中具有 ID 的所有視圖的直接引用。
- 在之前的項目中我們可以通過kotlin-android-extensions插件來綁定View控件的,很遺憾在Android Studio 4.1之后kotlin-android-extensions插件已被廢棄,現(xiàn)在推薦使用ViewBinding來進(jìn)行替代。
- 注意:視圖綁定在 Android Studio 3.6 Canary 11 及更高版本中可用
配置ViewBinding
- 在app級別的build.gradle中的android閉包中添加buildFeatures,設(shè)置viewBinding 為 true
android {
namespace xxx
compileSdkVersion versions.compileSdk
defaultConfig {
...
}
compileOptions {
...
}
buildFeatures{
viewBinding true
}
}配置完成后 Sync一下gradle,編譯項目后會在build→generated→data_binding_base_class_source_out文件中生成相應(yīng)的類。Binding類的命名規(guī)則是將布局文件按駝峰方式重命名后,再加上Binding作為結(jié)尾。例如,我們activity_main.xml布局對應(yīng)的Binding類就是ActivityMainBinding。

如果有些布局文件你不希望為它生成對應(yīng)的Binding類,可以在該布局文件的根元素位置加入tools:viewBindingIgnore="true"

使用ViewBinding
在Activity使用viewbing,如下代碼所示。注意:我們需要先Binding類的getRoot方法獲取到對應(yīng)布局文件的根元素,然后將其傳入到setContentView方法中,否則設(shè)置監(jiān)聽事件會無法生效
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//初始化ViewBinding控件
var myBinding = ActivityMainBinding.inflate(layoutInflater)
//把根元素的對象作為參數(shù)傳入到setContentView()方法中
setContentView(myBinding.root)
//botton是activity_main.xml中的一個按鈕id
myBinding.botton.setOnClickListener {
//Code Logic
}
}
}到此這篇關(guān)于kotlin中使用ViewBinding綁定控件的文章就介紹到這了,更多相關(guān)kotlin使用ViewBinding綁定控件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android組件創(chuàng)建DrawerLayout導(dǎo)航
這篇文章主要為大家詳細(xì)介紹了Android組件創(chuàng)建DrawerLayout導(dǎo)航的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01
Android onTouchEvent事件中onTouch方法返回值(介紹)
下面小編就為大家?guī)硪黄狝ndroid onTouchEvent事件中onTouch方法返回值(介紹)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04
Android Studio 3.0被調(diào)方法參數(shù)名提示的取消方法
這篇文章主要介紹了去掉android studio 3.0被調(diào)方法參數(shù)名提示的解決方法,在文章末尾給大家補充介紹了Android Studio 3.0 gradle提示太老的解決方法,非常不錯,需要的朋友可以參考下2017-11-11
Android Studio報錯unable to access android sdk add-on list解決方案
這篇文章主要介紹了Android Studio報錯unable to access android sdk add-on list解決方案,本文通過多種方式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
Android彈出DatePickerDialog并獲取值的方法
這篇文章主要為大家詳細(xì)介紹了Android彈出DatePickerDialog并獲取值的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-05-05
Android實現(xiàn)一個帶粘連效果的LoadingBar
Loading效果相信大家應(yīng)該都實現(xiàn)過,最近發(fā)現(xiàn)了一個不錯的效果,決定分享給大家,所以下面這篇文章主要給大家介紹了關(guān)于利用Android實現(xiàn)一個帶粘連效果的LoadingBar的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-12-12
Android 再按一次返回鍵退出程序?qū)崿F(xiàn)思路
用戶退出應(yīng)用前給出一個提示是很有必要的,因為可能是用戶并不真的想退出,而只是一不小心按下了返回鍵,大部分應(yīng)用的做法是在應(yīng)用退出去前給出一個Dialog提示框;個人覺得再按一次返回鍵退出程序很有必要,接下來介紹一些簡單實現(xiàn)2013-01-01
Android中調(diào)用系統(tǒng)的文件瀏覽器及自制簡單的文件瀏覽器
這篇文章主要介紹了Android中調(diào)用系統(tǒng)自帶的文件瀏覽器及自制簡單的文件瀏覽器的方法,這里的例子僅展示瀏覽而沒有添加復(fù)制粘貼剪切等文件管理操作,非常簡單,需要的朋友可以參考下2016-04-04

