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); }
但是對(duì)于Fragment
,其中卻沒有這個(gè)方法,如果我們?cè)?code>fragment中想要監(jiān)聽觸摸事件 該如何實(shí)現(xiàn)呢?
我的方法是,自己實(shí)現(xiàn)觸摸事件的分發(fā)。
先定義一個(gè)接口
public interface MyOnTouchListener { public boolean onTouch(MotionEvent ev); }
再搞一個(gè)list
存儲(chǔ)listener
private ArrayList<MyOnTouchListener> onTouchListeners = new ArrayList<MyOnTouchListener>( 10);
再自己實(shí)現(xiàn)注冊(cè),與銷毀以及分發(fā)
fragment
觸摸事件分發(fā),將觸摸事件分發(fā)給每個(gè)能夠響應(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
注冊(cè),同時(shí)監(jiān)聽器中監(jiān)聽手勢(shì)動(dòng)作。
onTouchListener = new MusicActivity.MyOnTouchListener() { @Override public boolean onTouch(MotionEvent ev) { gestureDetector.onTouchEvent(ev); return false; } }; ((MusicActivity) getActivity()).registerMyOnTouchListener(onTouchListener);
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- 解析Android開發(fā)中多點(diǎn)觸摸的實(shí)現(xiàn)方法
- android 多點(diǎn)觸摸圖片縮放的具體實(shí)現(xiàn)方法
- 簡(jiǎn)單講解Android開發(fā)中觸摸和點(diǎn)擊事件的相關(guān)編程方法
- Android修改源碼解決Alertdialog觸摸對(duì)話框邊緣消失的問題
- Android 觸摸事件監(jiān)聽(Activity層,ViewGroup層,View層)詳細(xì)介紹
- android命令行模擬輸入事件(文字、按鍵、觸摸等)
- Android中SurfaceView和view畫出觸摸軌跡
- Android實(shí)現(xiàn)手勢(shì)滑動(dòng)多點(diǎn)觸摸放大縮小圖片效果
- android中處理各種觸摸事件的方法淺談
- Android檢測(cè)手機(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)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09Android應(yīng)用動(dòng)態(tài)修改主題的方法示例
今天小編就為大家分享一篇關(guān)于Android應(yīng)用動(dòng)態(tài)修改主題的方法示例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03Android 游戲引擎libgdx 資源加載進(jìn)度百分比顯示案例分析
因?yàn)榘咐容^簡(jiǎn)單,所以簡(jiǎn)單用AndroidApplication -> Game -> Stage 搭建框架感興趣的朋友可以參考下2013-01-01Android studio實(shí)現(xiàn)菜單操作
這篇文章主要為大家詳細(xì)介紹了Android studio實(shí)現(xiàn)菜單操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10Android開發(fā)中CheckBox的簡(jiǎn)單用法示例
這篇文章主要介紹了Android開發(fā)中CheckBox的簡(jiǎn)單用法,結(jié)合實(shí)例形式分析了Android中CheckBox控件的基本功能設(shè)置與頁(yè)面布局技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07Android實(shí)現(xiàn)Service重啟的方法
這篇文章主要介紹了Android實(shí)現(xiàn)Service重啟的方法,涉及Android操作Service組件實(shí)現(xiàn)服務(wù)重啟的功能,需要的朋友可以參考下2015-05-05