Android雙擊事件攔截方法

下文我們介紹兩種雙擊事件攔截的方式

創(chuàng)新互聯(lián)公司成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元萬(wàn)秀做網(wǎng)站,已為上家服務(wù),為萬(wàn)秀各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108

1.通過(guò)Android的事件分發(fā)機(jī)制進(jìn)行攔截(dispatchTouchEvent)

話不多說(shuō),直接上代碼:

/** 判斷是否是快速點(diǎn)擊 */
 private static long lastClickTime;
 public static boolean isFastDoubleClick() {
  long time = System.currentTimeMillis();
  long timeD = time - lastClickTime;
  if (0 < timeD && timeD < 1000) {
   return true;
  }
  lastClickTime = time;
  return false;
 }
 /** 判斷觸摸時(shí)間派發(fā)間隔 */
 @Override
 public boolean dispatchTouchEvent(MotionEvent ev) {
  if (ev.getAction() == MotionEvent.ACTION_DOWN) {
   if (isFastDoubleClick()) {
    return true;
   }
  }
  return super.dispatchTouchEvent(ev);
 }

用法就是直接在你需要攔截雙擊事件的類中加入這兩個(gè)函數(shù),系統(tǒng)會(huì)自動(dòng)調(diào)用dispatchTouchEvent進(jìn)行事件攔截,屏蔽掉雙擊事件,可以通過(guò)調(diào)整上述的時(shí)間達(dá)到你想要的效果

缺點(diǎn)就是加入后的整個(gè)activity都會(huì)屏蔽掉雙擊事件,可能會(huì)影響其他組件的正常使用

2.通過(guò)一個(gè)工具類來(lái)使用雙擊函數(shù)

 //判斷是否是快速點(diǎn)擊
 private static long lastClickTime = 0L; //上一次點(diǎn)擊的時(shí)間
 public static boolean isFastDoubleClick() {
  long time = System.currentTimeMillis();
  long timeD = time - lastClickTime;
  if(timeD<1000){
   //寫自己的雙擊邏輯
   return true;
  }
  lastClickTime = time;
  return false;
 }

使用方法就是將這個(gè)函數(shù)放到一個(gè)工具類中,在你需要進(jìn)行雙擊事件攔截時(shí),直接調(diào)用這個(gè)函數(shù)進(jìn)行判斷即可,有沒(méi)有很方便

以上這篇Android雙擊事件攔截方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持創(chuàng)新互聯(lián)。

當(dāng)前題目:Android雙擊事件攔截方法
當(dāng)前路徑:http://muchs.cn/article8/pipsip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)小程序開發(fā)、定制網(wǎng)站、域名注冊(cè)、網(wǎng)站排名、移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管