介绍
RxBinding 将 Android 平台中的 UI 控件变为 Observable 对象,将 UI 控件的事件当做 RxJava 中的数据流使用。
优点:
- RxBinding 是对 Android View 事件的扩展,它帮助我们可以对 View 事件使用 RxJava 的各种操作;
- RxBinding 提供了与 RxJava 一致的回调,简化了代码;
- 几乎支持所有的常用控件及事件;
- 支持 Kotlin;
使用
build.gradle 中添加引用:
Platform bindings:
implementation 'com.jakewharton.rxbinding4:rxbinding:4.0.0'
AndroidX library bindings:
implementation 'com.jakewharton.rxbinding4:rxbinding-core:4.0.0'
implementation 'com.jakewharton.rxbinding4:rxbinding-appcompat:4.0.0'
implementation 'com.jakewharton.rxbinding4:rxbinding-drawerlayout:4.0.0'
implementation 'com.jakewharton.rxbinding4:rxbinding-leanback:4.0.0'
implementation 'com.jakewharton.rxbinding4:rxbinding-recyclerview:4.0.0'
implementation 'com.jakewharton.rxbinding4:rxbinding-slidingpanelayout:4.0.0'
implementation 'com.jakewharton.rxbinding4:rxbinding-swiperefreshlayout:4.0.0'
implementation 'com.jakewharton.rxbinding4:rxbinding-viewpager:4.0.0'
implementation 'com.jakewharton.rxbinding4:rxbinding-viewpager2:4.0.0'
Google ‘material’ library bindings:
implementation 'com.jakewharton.rxbinding4:rxbinding-material:4.0.0'
单击
RxView.clicks(dataBinding.btnClick)
.subscribe(unit -> Toast.makeText(this, "单击"