博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
加入ScrollView后OnGestureListener无效的解决办法
阅读量:4957 次
发布时间:2019-06-12

本文共 934 字,大约阅读时间需要 3 分钟。

android中,ViewFlipper+OnGestureListener可以实现左右滑动效果。 

但是在ViewFlipper加上了ScrollView就悲剧了,左右滑动事件无效了…… 
这里其实只需要多实现一个方法就是了,主要是把事件交给系统自己处理 
在OnGestureListener对象中,实现以下方法 

Java代码:  
  1. @Override  
  2. public boolean dispatchTouchEvent(MotionEvent ev){  
  3.     super.dispatchTouchEvent(ev);     
  4.     //productGestureDetector 是 GestureDetector对象  
  5.     return productGestureDetector.onTouchEvent(ev);   
  6. }  

另外,由于有了上下滑动和左右滑动的原因,在上下滑动的时候可能会不小心就触发了左右滑动,所以需要在加点东西 
Java代码:  

    1. private static final int FLING_MIN_DISTANCE = 100;  
    2. private static final int FLING_MIN_VELOCITY = 50;  
    3.   
    4. //....  
    5.   
    6. public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,  
    7.             float velocityY) {  
    8.   
    9.         if (e1.getX() - e2.getX() > FLING_MIN_DISTANCE  
    10.                 && Math.abs(velocityX) > FLING_MIN_VELOCITY) {
      // move to left  
    11.                     //TODO 左滑动  
    12.   
    13.         } else if (e2.getX() - e1.getX() > FLING_MIN_DISTANCE  
    14.                 && Math.abs(velocityX) > FLING_MIN_VELOCITY) {  
    15.             //TODO 右滑动  
    16.         } else {  
    17.             return false;  
    18.         }  
    19.         return true;  
    20.     }  
    21.  

转载于:https://www.cnblogs.com/awkflf11/p/4613042.html

你可能感兴趣的文章
字符编码笔记:ASCII,Unicode和UTF-8【转载】
查看>>
属性的copy和mutableCopy修饰符(?)
查看>>
Python批量修改图片格式和尺寸
查看>>
转:nginx入门指南,快速搭建静态文件服务器和代理服务器
查看>>
ios开发之-本地推送通知
查看>>
[bootstrap]模态框总结
查看>>
P1002 过河卒
查看>>
#webpack `Invalid Host/Origin header`问题
查看>>
javascript 闭包的学习
查看>>
C# Socket学习笔记二
查看>>
ARIS集成信息系统结构的五个视图
查看>>
geant4 资料汇总
查看>>
快学UiAutomator创建第一个实例
查看>>
Python中的类方法、实例方法、静态方法
查看>>
每日一记======>Django笔记 2012.08.22
查看>>
Python基础第八天:各种推导式玩法
查看>>
微信扫码下载apk快速解决方案,中间页引导法
查看>>
ListView的使用
查看>>
一点感悟
查看>>
Mac安装Qt出现错误Could not resolve SDK Path for 'macosx'
查看>>