本文给大家介绍的是监听Fragment的触摸事件实现。如果大家有更好的机制,可以留言交流,下面来看看详细的介绍:

大家都知道,我们的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 onTouchListeners = new ArrayList(

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);

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

Android屏幕触摸监听,Android在Fragment中实现监听触摸事件相关推荐

  1. android屏幕适配教程,Android屏幕适配方案,android屏幕适配

    Android屏幕适配方案,android屏幕适配 文章转载禁止用于商业用途,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处莫高雷草原以及作者@JiongBull. Android屏幕适配方 ...

  2. android全局监听onkeydown,在Fragment中监听onKeyDown事件

    在Activity中可以很轻监听到onKeyDown事件,但大部分场景我们的操作是在Fragment中完成的,此时要获取到onKeyDown事件需要多做点事 1.首先在Fragment的宿主Activ ...

  3. android屏幕旋转生命周期,Activity、Fragment生命周期---横竖屏切换的生命周期

    先贴出一张大家众所周知activity流程图 onCreate():创建Activity调用,用于Activity的初始化,还有个Bundle类型的参数,可以访问以前存储的状态.onStart():A ...

  4. Fragment中设置监听返回键的功能

    首先创建一个抽象类BackHandledFragment,该类有一个抽象方法onBackPressed(),所有BackHandledFragment的子类在onBackPressed方法中处理各自对 ...

  5. android屏幕适配的目的,Android 不同分辨率下屏幕适配的实战方案与经验总结

    Android 开发中,屏幕适配是一大考点,几乎每一场面试,都不会落下这个问题,这个问题说简单也简单,说难也难,当然对于有过真实的适配经验的人来说,这个根本不算什么问题,从坑里爬过的人,自然知道这其中 ...

  6. Android屏幕录制并传输,Android录制屏幕的实现方法

    *原文:Paul Kinlan 翻译:Agora.io* 长久以来,我一直希望能够直接从Android屏幕上进行录制并将其编码为多种格式,以便将录制内容嵌入在任意位置,而不需要安装任何软件. 如今,我 ...

  7. android 屏幕中心坐标原点,Android 的坐标系及矩阵变换

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? Android的坐标系 2D坐标系 android的2d坐标系如图所示,水平向右为X轴正方向,竖直向下为Y轴正方向,原点 ...

  8. Android --- 动态获取定位权限时: Fragment 中 onRequestPermissionsResult 方法不执行

    今天我在写百度地图 API 定位功能的时候遇到了这样一个问题,需要在打开 APP 首页的时候动态获取定位权限,然后我的代码是这样写的(在 Fragment 中) @Nullablepublic Vie ...

  9. android屏幕录制鸿洋,Android之自定义View笔记(鸿洋)

    本文是对鸿洋的Android自定义View系列的文章学习的笔记.先说自定义View的步骤: 1.自定义View的属性 2.在View的构造方法中获得我们自定义的属性 3*.重写onMesure()方法 ...

最新文章

  1. python uvloop异步框架简介
  2. GWT笔记(Google Web Toolkit)1
  3. 以获客为目标 ,首席增长官从0到1实现用户增长
  4. Android小结(1)
  5. Tensorflow[基础篇]——LSTM的理解与实现
  6. 冒死揭秘安利_赵丽颖新剧开播备受争议?冒死安利
  7. 安卓-04-实例01-XML布局UI界面
  8. ftp 530 linux,Linux启动ftp服务器530 Permission denied解决方法
  9. C#中如何创建文件夹,复制文件夹,删除文件夹的方法
  10. 后缀自动机(学习笔记)
  11. VC++2010学习版安装包下载,需要的百度网盘自取
  12. cad修改快捷键_CAD自定义修改快捷键
  13. 提前三天教你们python制作万能抢购神器,学不会就准备过光棍节吧
  14. 计算机毕业设计SpringBoot选题推荐——疫情防控志愿者管理系统
  15. 电烙铁焊锡到底有没有毒?
  16. html style属性的用法
  17. 无线Mesh网络相比于传统WLAN的优势有哪些?
  18. 函数名地址、函数名取地址、函数名解引用问题
  19. 米兰2:2战平巴萨 席尔瓦最后关头致命一击
  20. spark集群详细搭建过程及遇到的问题解决(一)

热门文章

  1. S32K148实现250K转500K波特率的网关
  2. 自考《高级财务会计》名词解释
  3. 逆向效率提升工具与方法汇总(持续更新...)
  4. 离散数学-图论-哈密顿图及其应用
  5. 小项目应该如何进行跨平台方案选型
  6. swapper_pg_dir的作用
  7. 安卓 自动挂载 linux swap,轻松在安卓手机上实现SWAP (Swapper2教程)
  8. 阿里 easyExcel 框架,文档自动换行自适应行高实现
  9. linux下ssh显示usage的错误,关于ssh的问题
  10. 【目标检测】基于yolov3的血细胞检测和计数(无bug教程+附代码+数据集)