Android開(kāi)發(fā)實(shí)現(xiàn)控件雙擊事件的監(jiān)聽(tīng)接口封裝類
寫(xiě)項(xiàng)目時(shí),要求仿微信朋友圈,雙擊頂欄置頂,于是封裝了雙擊回調(diào)接口,方便大家拿來(lái)就用
/** * Created by Administrator on 2018/4/24. * 雙擊 */ public class OnDoubleClickListener implements View.OnTouchListener{ private int count = 0;//點(diǎn)擊次數(shù) private long firstClick = 0;//第一次點(diǎn)擊時(shí)間 private long secondClick = 0;//第二次點(diǎn)擊時(shí)間 /** * 兩次點(diǎn)擊時(shí)間間隔,單位毫秒 */ private final int totalTime = 1000; /** * 自定義回調(diào)接口 */ private DoubleClickCallback mCallback; public interface DoubleClickCallback { void onDoubleClick(); } public OnDoubleClickListener(DoubleClickCallback callback) { super(); this.mCallback = callback; } /** * 觸摸事件處理 * @param v * @param event * @return */ @Override public boolean onTouch(View v, MotionEvent event) { if (MotionEvent.ACTION_DOWN == event.getAction()) {//按下 count++; if (1 == count) { firstClick = System.currentTimeMillis();//記錄第一次點(diǎn)擊時(shí)間 } else if (2 == count) { secondClick = System.currentTimeMillis();//記錄第二次點(diǎn)擊時(shí)間 if (secondClick - firstClick < totalTime) {//判斷二次點(diǎn)擊時(shí)間間隔是否在設(shè)定的間隔時(shí)間之內(nèi) if (mCallback != null) { mCallback.onDoubleClick(); } count = 0; firstClick = 0; } else { firstClick = secondClick; count = 1; } secondClick = 0; } } return true; } }
具體應(yīng)用關(guān)鍵代碼:
/** * 頂欄雙擊,置頂 */ private void titleDoubleOnClick(){ titleLayout.setOnTouchListener(new OnDoubleClickListener(new OnDoubleClickListener.DoubleClickCallback() { @Override public void onDoubleClick() { listView_neighbour.setSelection(0);//處理雙擊事件 } })); }
本文為大家提供了Android開(kāi)發(fā)實(shí)現(xiàn)控件雙擊事件的監(jiān)聽(tīng)接口封裝類,大家可以拿來(lái)就用,更多關(guān)于Android雙擊事件技巧請(qǐng)查看下面的相關(guān)鏈接
相關(guān)文章
Android App中使用RatingBar實(shí)現(xiàn)星級(jí)打分功能的教程
這篇文章主要介紹了Android App中使用RatingBar實(shí)現(xiàn)星級(jí)打分功能的教程,文中舉了一個(gè)使用SeekBar與RatingBar制作的應(yīng)用內(nèi)打分條的功能,非常簡(jiǎn)單,需要的朋友可以參考下2016-04-04Android開(kāi)發(fā)之自動(dòng)朗讀TTS用法分析
這篇文章主要介紹了Android開(kāi)發(fā)之自動(dòng)朗讀TTS用法,較為詳細(xì)的分析了TTS的概念、功能、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-06-06Android 進(jìn)階實(shí)現(xiàn)性能優(yōu)化之OOM與Leakcanary詳解原理
LeakCanary 是大名鼎鼎的 square 公司開(kāi)源的內(nèi)存泄漏檢測(cè)工具。目前上大部分App在開(kāi)發(fā)測(cè)試階段都會(huì)接入此工具用于檢測(cè)潛在的內(nèi)存泄漏問(wèn)題,做的好一點(diǎn)的可能會(huì)搭建一個(gè)服務(wù)器用于保存各個(gè)設(shè)備上的內(nèi)存泄漏問(wèn)題再集中處理2021-11-11Android 使用手機(jī)NFC的讀取NFC標(biāo)簽數(shù)據(jù)的方法
這篇文章主要介紹了Android 使用手機(jī)NFC的讀取NFC標(biāo)簽數(shù)據(jù)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07Android編程基礎(chǔ)之獲取手機(jī)屏幕大小(DisplayMetrics應(yīng)用)示例
這篇文章主要介紹了Android獲取手機(jī)屏幕大小的方法,結(jié)合實(shí)例形式分析了TextView ,Button ,以及DisplayMetrics的使用方法,并重點(diǎn)分析了DisplayMetrics的應(yīng)用技巧,需要的朋友可以參考下2016-10-10Android版微信跳一跳小游戲利用技術(shù)手段達(dá)到高分的操作方法
朋友圈到處都是曬微信跳一跳小游戲的,很多朋友能達(dá)到二三百分了。下面小編給大家分享Android版微信跳一跳小游戲利用技術(shù)手段達(dá)到高分的操作方法,需要的朋友一起看看吧2018-01-01Android BroadcastReceiver廣播簡(jiǎn)單使用
這篇文章主要為大家詳細(xì)介紹了Android BroadcastReceiver廣播簡(jiǎn)單的使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04Android編程實(shí)現(xiàn)ImageView圖片拋物線動(dòng)畫(huà)效果的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)ImageView圖片拋物線動(dòng)畫(huà)效果的方法,實(shí)例分析了Android實(shí)現(xiàn)拋物線運(yùn)動(dòng)的算法原理與相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10