最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android在Fragment中實現(xiàn)監(jiān)聽觸摸事件

 更新時間:2017年05月04日 15:25:58   作者:Jerey_Jobs  
這篇文章主要給大家介紹了Android在Fragment中實現(xiàn)監(jiān)聽觸摸事件的相關(guān)資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。

本文給大家介紹的是監(jiān)聽Fragment的觸摸事件實現(xiàn)。如果大家有更好的機制,可以留言交流,下面來看看詳細的介紹:

大家都知道,我們的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ā)給每個能夠響應的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)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論

义乌市| 周宁县| 静安区| 深泽县| 重庆市| 西昌市| 农安县| 广饶县| 西丰县| 静海县| 什邡市| 杨浦区| 道孚县| 明溪县| 昌宁县| 武陟县| 台东市| 甘孜| 嘉鱼县| 遂昌县| 容城县| 五华县| 印江| 崇明县| 营口市| 宁海县| 临夏县| 大埔区| 勃利县| 安岳县| 濮阳县| 揭西县| 邓州市| 长葛市| 时尚| 芷江| 河北省| 澄城县| 周宁县| 芜湖市| 当阳市|