1. 在MainActivity中添加方法

/**
 * 以下的几个方法用来,让fragment能够监听touch事件
 */
private ArrayList<MyOnTouchListener> onTouchListeners = new ArrayList<MyOnTouchListener>(10);@Override
public boolean dispatchTouchEvent(MotionEvent ev) {for (MyOnTouchListener listener : onTouchListeners) {listener.onTouch(ev);}return super.dispatchTouchEvent(ev);
}public void registerMyOnTouchListener(MyOnTouchListener myOnTouchListener) {onTouchListeners.add(myOnTouchListener);
}public void unregisterMyOnTouchListener(MyOnTouchListener myOnTouchListener) {onTouchListeners.remove(myOnTouchListener);
}public interface MyOnTouchListener {public boolean onTouch(MotionEvent ev);
}

2. 在Fragment中添加逻辑事件
  
MainActivity.MyOnTouchListener myOnTouchListener;
private GestureDetector mGestureDetector;

mGestureDetector = new GestureDetector(getActivity(), new GestureDetector.SimpleOnGestureListener());
myOnTouchListener = new MainActivity.MyOnTouchListener() {@Override
   public boolean onTouch(MotionEvent ev) {boolean result = mGestureDetector.onTouchEvent(ev);float curY = 0;switch (ev.getAction() & MotionEvent.ACTION_MASK){case MotionEvent.ACTION_DOWN:prevY = ev.getY();return true;case MotionEvent.ACTION_UP:curY = ev.getY();if(curY - prevY < -10){if(user_info_layout.getVisibility() == View.VISIBLE){user_info_bg.setVisibility(View.GONE);Animation hideAnim = AnimationUtils.loadAnimation(getActivity(),R.anim.activity_out);hideAnim.setAnimationListener(new AnimationListener() {@Override
                     public void onAnimationStart(Animation animation) {}@Override
                     public void onAnimationEnd(Animation animation) {user_info_layout.setVisibility(View.GONE);}@Override
                     public void onAnimationRepeat(Animation animation) {}});user_info_layout.startAnimation(hideAnim);}return true;}}return result;}
};
((MainActivity) getActivity()).registerMyOnTouchListener(myOnTouchListener);

Fragment监听touch事件相关推荐

  1. 涂鸦画板,监听touch事件,手机端

    通过监听canvas上的touch事件,在canvas上作图 <!DOCTYPE html> <html><head><meta charset=" ...

  2. android重写返回按钮点击事件,Android Fragment监听返回键

    场景:在项目中做联系人界面时,需要按名字和按部门显示联系人,此处使用2个fragment切换显示,按部门显示需要体现部门层级关系,需要实现点击返回上级部门.因为Fragment并不能像在Actvity ...

  3. Android屏幕触摸监听,Android在Fragment中实现监听触摸事件

    本文给大家介绍的是监听Fragment的触摸事件实现.如果大家有更好的机制,可以留言交流,下面来看看详细的介绍: 大家都知道,我们的activity中有onTouchEvent方法,可以用来实现触摸事 ...

  4. 【iOS-Cocos2d游戏开发之五】【1】多触点与触屏事件详解(单一监听、事件分发)...

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2d/450.html ...

  5. android listview ontouchlistener,Android ListView监听滑动事件的方法(详解)

    ListView的主要有两种滑动事件监听方法,OnTouchListener和OnScrollListener 1.OnTouchListener OnTouchListener方法来自View中的监 ...

  6. javascript事件监听与事件委托

    事件监听与事件委托 在js中,常用到element.addEventListener()来进行事件的监听.但是当页面中存在大量需要绑定事件的元素时,这种方式可能会带来性能影响.此时,我们可以用事件委托 ...

  7. 【iOS-Cocos2d游戏开发之五】多触点与触屏事件详解(单一监听、事件分发)

    李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2d/450.html------- ...

  8. js 监听 安卓事件_百行代码实现js事件监听实现跨页面数据传输

    百行代码实现js事件监听实现跨页面数据传输 使用场景 类似消息队列的使用场景,支持同页面和跨页面通信,发送消息和接收消息 技术原理 跨页面通信: 基于事件监听,通过监听 storage事件监听回调机制 ...

  9. chromedp网络监听_动态爬虫三:监听网络事件 + 监听js事件

    一: 概述 上两篇文章介绍了cdp协议和chromedp库,从这篇文章开始动手实战一下,我们要拿到页面上更多的网络请求,最直接的想法就是类似于开发者工具里的network,只有一有网络请求就显示在列表 ...

最新文章

  1. CSS揭秘之《背景图案》
  2. Jmeter性能测试之JDBC Request连接数据库
  3. 优化MySQL数据类型——《深究MySQL》
  4. Springboot线程池的使用和扩展
  5. Spring AOP源码解析(三)—— AOP引入(续)
  6. 将list对象转换为QuerySet对象
  7. python模块管理工具,Python的包管理工具
  8. quick cocos2d-x 精灵大小(宽高)获取
  9. 使用sql服务器发送贺卡_创建和发送免费电子贺卡的最佳网站
  10. Java中的ThreadPoolExecutor类
  11. 【洛谷比赛】你的名字。
  12. [Python爬虫] 之十八:Selenium +phantomjs 利用 pyquery抓取电视之家网数据
  13. (147)FPGA面试题-Verilog移位相加实现乘法(二)
  14. tablix“Tablix1”有一个具有内部成员的详细信息成员
  15. 火星人谚语系列之五:答案将由我在下一分钟给出(心想事成)
  16. e83服务器电源键位置,正文-新华三集团-H3C
  17. gif透明背景动画_PS教程:把静态照片做成GIF放大动画效果
  18. 信源编码的三种方式与实现
  19. 传真机使用方法,使用说明
  20. 软件测试-面试题(基础+性能)

热门文章

  1. 轻松模式之tars框架的docker安装
  2. 杜兰特!想当超级英雄,就必须承受这该死的伤病!
  3. 关于edge浏览器 new bing 已申请且通过后没有出现聊天功能的问题解决
  4. 第3章 psql工具
  5. 从零开始自制实现WebServer(十六)---- 学习新工具CMake自动编写MakeFile 分门别类整理源文件心情愉悦
  6. 2020年3月6日,部分iPhone无法连接到App Store 解决办法
  7. Android 8.1 Doze模式分析(五) Doze白名单及Debug方式
  8. python Z检验
  9. javaScript获取cookie转换成json
  10. 详解Mysql字符串截取left()、right()、substring()、substring_index()具体用法(一)