Android View防抖功能

RxView可以做防抖功能


      //多次點(diǎn)擊只產(chǎn)生一次請求,防抖動
            RxView.clicks(btn_order_pay)
                        .throttleFirst(1, TimeUnit.SECONDS)
                        .subscribe {
                            val param = PayParam()
                            param.apply {
                                orderSeq = mOrderSeq
                                refundChangeTotalFee = refundChangeTotalFee
                            }
                            mViewModel.payRefundChangeFee(param)
                        }

點(diǎn)擊事件計時防抖

/**
 * @name: GPS Camera
 * @author: TysonWu
 * @time: 2023/2/22 15:41
 * @version:
 * @description:點(diǎn)擊事件防抖工具類
 */
public class AntiShakeUtils {
    private static final long COLD_TIME_CLICK = 1000L;
    private static final long COLD_TIME_LONG_CLICK = 1500L;

    private static long sLastResponseClick = 0;

    public static boolean canResponseClick() {
        long currentTime = SystemClock.elapsedRealtime();
        return (currentTime - sLastResponseClick) >= COLD_TIME_CLICK;
    }

    public static void updateLastClickTime() {
        sLastResponseClick = SystemClock.elapsedRealtime();
    }

    public static boolean canResponseLongClick() {
        long currentTime = SystemClock.elapsedRealtime();
        return (currentTime - sLastResponseClick) >= COLD_TIME_LONG_CLICK;
    }
}

使用

  if (!AntiShakeUtils.canResponseClick()) {
                    return
                } else {
                     AntiShakeUtils.updateLastClickTime()
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容