防抖
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
package com.yunbao.common.views.weight;
|
||||
|
||||
import android.view.View;
|
||||
|
||||
import com.jakewharton.rxbinding3.view.RxView;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import io.reactivex.Observer;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import kotlin.Unit;
|
||||
|
||||
/**
|
||||
* View防抖
|
||||
*/
|
||||
public class ViewClicksAntiShake {
|
||||
//防抖回调
|
||||
public interface ViewClicksCallBack {
|
||||
void onViewClicks();
|
||||
}
|
||||
|
||||
/**
|
||||
* 防抖
|
||||
*/
|
||||
public static void clicksAntiShake(View view, ViewClicksCallBack callBack) {
|
||||
RxView.clicks(view)
|
||||
.throttleFirst(2, TimeUnit.SECONDS)
|
||||
.subscribe(new Observer<Unit>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(Unit unit) {
|
||||
if (callBack != null)
|
||||
callBack.onViewClicks();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user