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來進行替代。
- 注意:視圖綁定在 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仿拉手網(wǎng)團購App產(chǎn)品詳情界面效果
這篇文章主要介紹了Android仿拉手網(wǎng)團購App產(chǎn)品詳情界面效果,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-05-05Android基于Glide v4.x的圖片加載進度監(jiān)聽
本篇文章主要介紹了基于Glide v4.x的圖片加載進度監(jiān)聽的示例代碼,具有一定的參考價值,有興趣的可以了解一下2017-08-08如何利用Flutter實現(xiàn)酷狗流暢Tabbar效果
這篇文章主要給大家介紹了關(guān)于如何利用Flutter實現(xiàn)酷狗流暢Tabbar效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-02-02Android開發(fā)使用ProgressBar實現(xiàn)進度條功能示例
這篇文章主要介紹了Android開發(fā)使用ProgressBar實現(xiàn)進度條功能,結(jié)合實例形式分析了Android進度條ProgressBar的具體樣式、布局與功能實現(xiàn)技巧,需要的朋友可以參考下2019-03-03Android實現(xiàn)簡單底部導(dǎo)航欄 Android仿微信滑動切換效果
這篇文章主要為大家詳細介紹了Android實現(xiàn)簡單底部導(dǎo)航欄,Android仿微信滑動切換效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08Android實現(xiàn)類似網(wǎng)易新聞選項卡動態(tài)滑動效果
這篇文章主要介紹了Android實現(xiàn)類似網(wǎng)易新聞選項卡動態(tài)滑動效果的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-11-11Android 中ListView setOnItemClickListener點擊無效原因分析
這篇文章主要介紹了Android 中ListView setOnItemClickListener點擊無效原因分析的相關(guān)資料,需要的朋友可以參考下2016-01-01Android RecycleView使用(CheckBox全選、反選、單選)
這篇文章主要為大家詳細介紹了Android RecycleView使用,CheckBox全選、反選、單選效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09