Android開發(fā)實(shí)現(xiàn)控件雙擊事件的監(jiān)聽接口封裝類
寫項(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開發(fā)實(shí)現(xiàn)控件雙擊事件的監(jiān)聽接口封裝類,大家可以拿來(lái)就用,更多關(guān)于Android雙擊事件技巧請(qǐng)查看下面的相關(guān)鏈接
相關(guān)文章
Android HttpURLConnection.getResponseCode()錯(cuò)誤解決方法
在使用HttpURLConnection.getResponseCode()的時(shí)候直接報(bào)錯(cuò)是IOException錯(cuò)誤,一直想不明白,同一個(gè)程序我調(diào)用了兩次,結(jié)果有一個(gè)鏈接一直O(jiān)K,另一個(gè)卻一直報(bào)這個(gè)錯(cuò)誤2013-06-06
Android控件系列之相冊(cè)Gallery&Adapter適配器入門&控件縮放動(dòng)畫入門
本文介紹了如何使用Gallery打造簡(jiǎn)單的相冊(cè),并實(shí)現(xiàn)了與用戶點(diǎn)擊的互動(dòng)動(dòng)畫,并介紹了適配器的原理。您可以在此基礎(chǔ)上修改,實(shí)現(xiàn)自己的相冊(cè),嵌入到任何程序中都會(huì)增色不少2012-11-11
Android自定義控件之小說(shuō)書架實(shí)現(xiàn)示例詳解
這篇文章主要為大家介紹了Android自定義控件之小說(shuō)書架示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪方法2023-04-04
Android 出現(xiàn):java.lang.NoClassDefFoundError...錯(cuò)誤解決辦法
這篇文章主要介紹了Android 出現(xiàn):Android出現(xiàn):java.lang.NoClassDefFoundError: android/os/PersistableBundle錯(cuò)誤解決辦法的相關(guān)資料,需要的朋友可以參考下2017-03-03
Android自定義下拉刷新控件RefreshableView
這篇文章主要介紹了Android自定義下拉刷新控件RefreshableView,支持所有控件的下拉刷新,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
Android實(shí)現(xiàn)滑動(dòng)刪除操作(PopupWindow)
這篇文章主要介紹了Android ListView結(jié)合PopupWindow實(shí)現(xiàn)滑動(dòng)刪除的相關(guān)資料,需要的朋友可以參考下2016-07-07
Android開發(fā)中關(guān)于組件導(dǎo)出的風(fēng)險(xiǎn)及防范
這篇文章主要介紹了Android開發(fā)中關(guān)于組件導(dǎo)出的風(fēng)險(xiǎn)及防范,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
Android條紋進(jìn)度條的實(shí)現(xiàn)(調(diào)整view寬度仿進(jìn)度條)
這篇文章主要給大家介紹了關(guān)于Android實(shí)現(xiàn)條紋進(jìn)度條的方法,主要是通過(guò)調(diào)整view寬度仿進(jìn)度條,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧2018-09-09

