Android 功能防抖 的实现
生活随笔
收集整理的這篇文章主要介紹了
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 功能防抖 的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 空调如何检修?
- 下一篇: RxJava 实现模糊搜索