欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 人文社科 > 生活经验 >内容正文

生活经验

Android 功能防抖 的实现

发布时间:2023/11/27 生活经验 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Android 功能防抖 的实现 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

功能防抖:  在规定时间内多次触发某一个功能 ,仅会响应第一次触发操作 

我们可以设置时间显示,也可以使用RxJava 的 throttleFirst 来实现效果

 普通的判断写法可以看我的这一遍博客

使用 throttleFirst 

1 引入库

    implementation "io.reactivex.rxjava3:rxjava:3.0.0-RC5"implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'implementation 'com.jakewharton.rxbinding3:rxbinding:3.1.0'

这里对一个TextView 做2秒内监听

 private TextView textView;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.rxjava_activity_layout);textView = findViewById(R.id.rx_dou);RxView.clicks(textView).throttleFirst(2,TimeUnit.SECONDS).subscribe(new io.reactivex.Observer<Unit>() {@Overridepublic void onSubscribe(io.reactivex.disposables.Disposable d) {Log.d("-----rxjava", "开始采用subscribe连接");}@Overridepublic void onNext(Unit unit) {Log.d("-----rxjava", "对Next事件作出响应:" + unit);}@Overridepublic void onError(Throwable e) {Log.d("-----rxjava", "对Error事件作出响应" + e);}@Overridepublic void onComplete() {Log.d("-----rxjava", "对onComplete事件作出响应:RxJava认识完成");}});
}

使用RxBind 监听view 来实现2s内再次点击无响应效果

 

总结

以上是生活随笔为你收集整理的Android 功能防抖 的实现的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。