Android在Fragment中實現(xiàn)監(jiān)聽觸摸事件
本文給大家介紹的是監(jiān)聽Fragment的觸摸事件實現(xiàn)。如果大家有更好的機(jī)制,可以留言交流,下面來看看詳細(xì)的介紹:
大家都知道,我們的activity中有onTouchEvent方法,可以用來實現(xiàn)觸摸事件的監(jiān)聽。
activity的觸摸事件
@Override
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
但是對于Fragment,其中卻沒有這個方法,如果我們在fragment中想要監(jiān)聽觸摸事件 該如何實現(xiàn)呢?
我的方法是,自己實現(xiàn)觸摸事件的分發(fā)。
先定義一個接口
public interface MyOnTouchListener {
public boolean onTouch(MotionEvent ev);
}
再搞一個list存儲listener
private ArrayList<MyOnTouchListener> onTouchListeners = new ArrayList<MyOnTouchListener>( 10);
再自己實現(xiàn)注冊,與銷毀以及分發(fā)
fragment觸摸事件分發(fā),將觸摸事件分發(fā)給每個能夠響應(yīng)的fragment
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
for (MyOnTouchListener listener : onTouchListeners) {
if(listener != null) {
listener.onTouch(ev);
}
}
return super.dispatchTouchEvent(ev);
}
public void registerMyOnTouchListener(MyOnTouchListener myOnTouchListener) {
onTouchListeners.add(myOnTouchListener);
}
public void unregisterMyOnTouchListener(MyOnTouchListener myOnTouchListener) {
onTouchListeners.remove(myOnTouchListener) ;
}
那么在fragment中 我們這樣使用即可:初始化監(jiān)聽器,然后向activity注冊,同時監(jiān)聽器中監(jiān)聽手勢動作。
onTouchListener = new MusicActivity.MyOnTouchListener() {
@Override
public boolean onTouch(MotionEvent ev) {
gestureDetector.onTouchEvent(ev);
return false;
}
};
((MusicActivity) getActivity()).registerMyOnTouchListener(onTouchListener);
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
- 解析Android開發(fā)中多點觸摸的實現(xiàn)方法
- android 多點觸摸圖片縮放的具體實現(xiàn)方法
- 簡單講解Android開發(fā)中觸摸和點擊事件的相關(guān)編程方法
- Android修改源碼解決Alertdialog觸摸對話框邊緣消失的問題
- Android 觸摸事件監(jiān)聽(Activity層,ViewGroup層,View層)詳細(xì)介紹
- android命令行模擬輸入事件(文字、按鍵、觸摸等)
- Android中SurfaceView和view畫出觸摸軌跡
- Android實現(xiàn)手勢滑動多點觸摸放大縮小圖片效果
- android中處理各種觸摸事件的方法淺談
- Android檢測手機(jī)多點觸摸點數(shù)的方法
相關(guān)文章
Android AsyncTask 后監(jiān)聽異步加載完畢的動作詳解
這篇文章主要介紹了Android 使用AsyncTask 后監(jiān)聽異步加載完畢的動作的相關(guān)資料,需要的朋友可以參考下2016-11-11
Android自定義ViewGroup之第一次接觸ViewGroup
這篇文章主要為大家詳細(xì)介紹了Android自定義ViewGroup之第一次接觸ViewGroup,感興趣的小伙伴們可以參考一下2016-06-06
Android?Flutter繪制有趣的?loading加載動畫
在網(wǎng)絡(luò)速度較慢的場景,一個有趣的加載會提高用戶的耐心和對?App?的好感。本篇我們利用Flutter?的?PathMetric來玩幾個有趣的?loading?效果,感興趣的可以動手嘗試一下2022-07-07
Android中使用ContentProvider管理系統(tǒng)資源的實例
這篇文章主要介紹了Android中使用ContentProvider管理系統(tǒng)資源的實例,講解了ContentProvider對系統(tǒng)中聯(lián)系人及多媒體資源的管理例子,需要的朋友可以參考下2016-04-04
Android RecyclerView加載不同布局簡單實現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Android RecyclerView加載不同布局簡單實現(xiàn),感興趣的小伙伴們可以參考一下2016-08-08
Android實現(xiàn)動態(tài)高斯模糊背景效果
在現(xiàn)代 Android UI 中,動態(tài)高斯模糊背景 常見于對話框或彈窗后面的模糊遮罩,相比靜態(tài)模糊圖,動態(tài)模糊可隨著內(nèi)容滾動或變化實時更新,使界面更具層次感與沉浸感,所以本文給大家介紹了Android實現(xiàn)動態(tài)高斯模糊背景效果,需要的朋友可以參考下2025-04-04

