RxBinding系列之RxView(一)

本文介绍了RxBinding库在Android开发中的应用,特别是RxView组件如何将视图事件转化为RxJava数据流。内容涵盖click、longClick、draw、drag等事件的绑定方法,以及如何实现点击防抖功能。文章强调了RxBinding简化代码和提高效率的优点,并提供了BaseActivity的管理示例,鼓励读者自行探索更多功能。
摘要由CSDN通过智能技术生成

前言

  自从用上RxJava后彻底迷上Rx系列响应式编程,从本篇开始一起来学习一下Rx套餐之一的RxBinding。RxBinding是什么?它是一组开源库,来自大神Jake Wharton之手,可将Android中各类UI控件的动作事件转换为RxJava中的数据流。也就是说使用RxBinding,我们就可以以RxJava的形式来处理UI事件。本篇主要讲解其中RxView的相关View事件如何绑定。
  
  RxBinding中主要包含RxView、RxTextView、RxAdapterView、RxCompoundButton等等。由于全写一起篇幅太长,我就一篇讲解一种了。本系列主要讲解以上常用的4种,详细内容可飞机到:
  Jake Wharton的RxBinding

依赖

  本系列围绕我自己编写的RxBindingDemo来进行讲解,项目中主要使用ButterKnife做View注入,RxBinding做事件绑定。RxBindingDemo代码在文末有给地址。
  注意:RxBinding包中包含RxJava的内容,所以就无需再添加RxJava的依赖了。

dependencies {
    ......
    compile 'com.jakewharton.rxbinding2:rxbinding:2.0.0'
    compile 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}

BaseActivity

  相信学习过RxJava的码友一定记得,使用RxJava实例化的Disposable需在不用时及时销毁。
  由于每个Activity中都写一套add与clear的方法会造成代码冗余,所以我将它们封装到BaseActivity中方便统一对Disposable进行管理,以及ButterKnife的统一绑定与解绑。
  献上代码:

public abstract class BaseActivity extends AppCompatActivity {
   
    public CompositeDisposable mCompositeDisposable;
    private Unbinder mUnbinder;

    @Override
    protected void 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值