如何在Fragment中监听触摸事件 手动实现触摸分发
来源:互联网 发布:美国海关进出口数据 编辑:程序博客网 时间:2024/06/06 01:39
大家都知道,我们的activity中有onTouchEvent方法,可以用来实现触摸事件的监听。
//activity的触摸事件 @Override public boolean onTouchEvent(MotionEvent event) { return super.onTouchEvent(event); }
但是对于Fragment,其中却没有这个方法,如果我们在fragment中想要监听触摸事件 该如何实现呢? 我的方法是,自己实现触摸事件的分发。
先定义一个接口
public interface MyOnTouchListener { public boolean onTouch(MotionEvent ev);}
再搞一个list存储listener
private ArrayList<MyOnTouchListener> onTouchListeners = new ArrayList<MyOnTouchListener>(10);
再自己实现注册,与销毁以及分发
fragment触摸事件分发,将触摸事件分发给每个能够响应的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中 我们这样使用即可:初始化监听器,然后向activity注册,同时监听器中监听手势动作。
onTouchListener = new MusicActivity.MyOnTouchListener() { @Override public boolean onTouch(MotionEvent ev) { gestureDetector.onTouchEvent(ev); return false; } }; ((MusicActivity) getActivity()).registerMyOnTouchListener(onTouchListener);
阅读全文
0 0
- 如何在Fragment中监听触摸事件 手动实现触摸分发
- 如何在Fragment中监听触摸事件
- 如何在Fragment中监听触摸事件
- fragment获得触摸事件监听
- 实现 Fragment 触摸事件处理
- Fragment中处理触摸事件
- Android View中触摸事件分发机制的实现
- Android 触摸事件分发
- Android触摸事件分发
- 触摸事件分发-view
- 触摸事件分发响应
- View触摸事件分发
- Android 触摸事件分发
- cocos2d-x 事件分发机制 ——触摸事件监听
- cocos2d-x 事件分发机制 ——触摸事件监听
- cocos2d-x 事件分发机制 ——触摸事件监听
- cocos2d-x 3.0 事件分发机制 —触摸事件监听
- Android中触摸事件传递分发机制
- $.extend() 与 $.fn.extend() 的区别
- Android蓝牙开发【四】OPP传输文件
- iOS 借贷类 马甲包 等上架经验
- 关于Android开发中JNI/NDK使用的一点总结
- 第 7 章 分支
- 如何在Fragment中监听触摸事件 手动实现触摸分发
- Android N 同时设置壁纸与锁屏壁纸的方法
- 第八讲 数组的定义与四种赋值方式、遍历和内存分析
- opencv3.3.1、opencv_contrib-3.3.1使用 CMake 编译步骤
- Java取Mysql数据中文乱码问题
- 计算机视觉识别简史:从 AlexNet、ResNet 到 Mask RCNN
- hadoop HDFS常用文件操作命令
- 文件系统的简单操作
- 如何让boostrap的栅栏系统高度不坍塌