Button或其它控件的實現(xiàn)雙擊或者多擊的操作

long[] mHits = new long[3];public void treeClick(View v){/**

  • arraycopy里面5個參數(shù)詳解
  • 1.src the source array to copy the content. 拷貝的原數(shù)組 2.srcPos the starting index of the content in src. 是從源數(shù)組那個位置開始拷貝 3.dst the destination array to copy the data into. 拷貝的目標(biāo)數(shù)組 4.dstPos the starting index for the copied content in dst. 是從目標(biāo)數(shù)組那個位置開始去寫 5.length the number of elements to be copied. 拷貝的長度*///拷貝數(shù)組操作System.arraycopy(mHits, 1, mHits, 0, mHits.length-1); mHits[mHits.length-1] = SystemClock.uptimeMillis(); // 將離開機的時間設(shè)置給數(shù)組的第二個元素,離開機時間 :毫秒值,手機休眠不算 if (mHits[0] >= (SystemClock.uptimeMillis()-500)) { // 判斷是否多擊操作 System.out.println("多擊了..."); }}

原理圖:long數(shù)組mHits 里面的值變化。



圖可能看起來有點難理解,下面再解釋一下。
第一擊:即第一次點擊的時候,記錄第一次點擊的時間比如說700ms,賦值到mHits[2]中保存起來
第二擊:把mHits 數(shù)組里面的值更新一下,即mHits[1]保存第一次點擊的時間(700ms),mHits[2]保存第二次點擊的時間(900)。
第三擊:同第二擊,把mHits 數(shù)組里面的值再次更新。判斷如果mHits[0]里面的值(第一次點擊的時間)大于現(xiàn)在的時間減去500ms,代表這個控件在500ms中點擊了3次,即三連擊,多擊操作。
我語文不好,解釋的盡力了,望親們可以理解。或者提一些建議3Q、

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

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

  • 自定義雙擊事件 點擊事件:在控件上按下,離開,有瞬間的停留。 雙擊事件:在單位時間內(nèi),雙擊。 多擊事件:在單位時間...
    未見哥哥閱讀 921評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • 一、系統(tǒng)自帶Toast的源碼分析 1. Toast的調(diào)用顯示 學(xué)過Android的人都知道,彈出一個系統(tǒng)API吐司...
    笑說余生閱讀 5,909評論 8 46
  • java筆記第一天 == 和 equals ==比較的比較的是兩個變量的值是否相等,對于引用型變量表示的是兩個變量...
    jmychou閱讀 1,648評論 0 3
  • 好久沒有寫文,那或許是沒空,更多的是沒有心情。我寫作時喜歡身心放松,喜歡一個人,沒有人打攪,??墒?,自從父親住院以...
    炎炎冬日閱讀 276評論 3 1

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