Android在Fragment中實(shí)現(xiàn)監(jiān)聽觸摸事件
本文給大家介紹的是監(jiān)聽Fragment的觸摸事件實(shí)現(xiàn)。如果大家有更好的機(jī)制,可以留言交流,下面來看看詳細(xì)的介紹:
大家都知道,我們的activity中有onTouchEvent方法,可以用來實(shí)現(xiàn)觸摸事件的監(jiān)聽。
activity的觸摸事件
@Override
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
但是對于Fragment,其中卻沒有這個方法,如果我們在fragment中想要監(jiān)聽觸摸事件 該如何實(shí)現(xiàn)呢?
我的方法是,自己實(shí)現(xiàn)觸摸事件的分發(fā)。
先定義一個接口
public interface MyOnTouchListener {
public boolean onTouch(MotionEvent ev);
}
再搞一個list存儲listener
private ArrayList<MyOnTouchListener> onTouchListeners = new ArrayList<MyOnTouchListener>( 10);
再自己實(shí)現(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ā)中多點(diǎn)觸摸的實(shí)現(xiàn)方法
- android 多點(diǎn)觸摸圖片縮放的具體實(shí)現(xiàn)方法
- 簡單講解Android開發(fā)中觸摸和點(diǎn)擊事件的相關(guān)編程方法
- Android修改源碼解決Alertdialog觸摸對話框邊緣消失的問題
- Android 觸摸事件監(jiān)聽(Activity層,ViewGroup層,View層)詳細(xì)介紹
- android命令行模擬輸入事件(文字、按鍵、觸摸等)
- Android中SurfaceView和view畫出觸摸軌跡
- Android實(shí)現(xiàn)手勢滑動多點(diǎn)觸摸放大縮小圖片效果
- android中處理各種觸摸事件的方法淺談
- Android檢測手機(jī)多點(diǎn)觸摸點(diǎn)數(shù)的方法
相關(guān)文章
Android實(shí)現(xiàn)雙擊返回鍵退出應(yīng)用實(shí)現(xiàn)方法詳解
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)雙擊返回鍵退出應(yīng)用的實(shí)現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-09-09
Android應(yīng)用動態(tài)修改主題的方法示例
今天小編就為大家分享一篇關(guān)于Android應(yīng)用動態(tài)修改主題的方法示例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
Android 游戲引擎libgdx 資源加載進(jìn)度百分比顯示案例分析
因?yàn)榘咐容^簡單,所以簡單用AndroidApplication -> Game -> Stage 搭建框架感興趣的朋友可以參考下2013-01-01
Android studio實(shí)現(xiàn)菜單操作
這篇文章主要為大家詳細(xì)介紹了Android studio實(shí)現(xiàn)菜單操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10
Android實(shí)現(xiàn)Service重啟的方法
這篇文章主要介紹了Android實(shí)現(xiàn)Service重啟的方法,涉及Android操作Service組件實(shí)現(xiàn)服務(wù)重啟的功能,需要的朋友可以參考下2015-05-05

