实现Fragment滑动onFling的手势识别
来源:互联网 发布:中国证券市场数据库 编辑:程序博客网 时间:2024/06/02 01:08
写这篇博客的缘由是项目中遇到了需要监听手势的需求,因为是对Fragment中View的监听,相比Activity中要麻烦一丢丢,在网上寻找解决方法后,总结了这个能在Fragment中监听手势的方法需要导入的包
import android.view.GestureDetector;import android.view.MotionEvent;需要添加的变量在fragment的onCreateView中:private GestureDetector gesture; //手势识别要注意一点:为某一View设置手势监听时,如果这个View包含子View,那么一定也要为这个子View设置setOnTouchListener,不然手势滑到子View上会失去作用。个人遇到过这个@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ View view = inflater.inflate(R.layout.fragment_card , container, false); //根据父窗体getActivity()为fragment设置手势识别 gesture = new GestureDetector(this.getActivity(), new MyOnGestureListener()); //为fragment添加OnTouchListener监听器 view.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return gesture.onTouchEvent(event);//返回手势识别触发的事件 } }); return view;}//设置手势识别监听器private class MyOnGestureListener extends GestureDetector.SimpleOnGestureListener{ @Override//此方法必须重写且返回真,否则onFling不起效 public boolean onDown(MotionEvent e) { return true; } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { if((e1.getX()- e2.getX()>120)&&Math.abs(velocityX)>200){ …… return true; }else if((e2.getX()- e1.getX()>120)&&Math.abs(velocityX)>200){ …… return true; } return false; }}
情况,有大家可能会有点借鉴作用,我设置手势监听的View包含一个ViewPager,最初的思路是为这个ViewPager设置setOnTouchListener然而并没有起作用,最后在这个ViewPager的
Adapter中为Item中布局设置setOnTouchListener 从而成功解决了这个问题。
1 0
- 实现Fragment滑动onFling的手势识别
- 实现Fragment左右滑动onFling的手势识别
- Android Fragment上下左右滑动onFling的手势识别
- Android之手势的识别与处理(双击onDoubleTap、滑动onFling、拖动onScroll)
- fragment实现手势识别
- Android 屏幕手势滑动中onFling()函数的技巧分析
- Android 屏幕手势滑动中onFling()函数的技巧分析
- Android 屏幕手势滑动中onFling()函数的技巧分析
- Android 屏幕手势滑动中onFling()函数的技巧分析
- Android 屏幕手势滑动中onFling()函数的技巧分析
- Android简单手势滑动的识别
- Android 屏幕滑动手势中onFling()函数分析
- android手势滑动识别
- GestureDetector 手势滑动识别
- GestureDetector识别手势滑动
- 手势滑动识别
- GestureDetector手势滑动识别
- Android 手势滑动识别
- 转载: 《Flash:DisplayObject的矩阵旋转(移动/修改注册点,修改旋转点)》
- IB_DESIGNABLE 和 IBInspectable
- 网间数据加密传输全流程(SSL加密原理)
- 最好的爱是为了配上你,我拼命把自己变的更好
- JFreeChart 3D饼图
- 实现Fragment滑动onFling的手势识别
- 循环神经网络(RNN)学习资源
- 64位机器上plsql连接64位oracle
- UE4抗锯齿选项的开启
- CentOS 6.5下编译安装新版LNMP
- iOS手势 总结归纳
- Don't forget your original intention.
- spring集成rocketmq
- I/O模型: 阻塞、非阻塞、I/O复用、同步、异步