zoukankan      html  css  js  c++  java
  • 加入ScrollView后OnGestureListener无效的解决办法

    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.  
  • 相关阅读:
    让Vim查找字符忽略大小写
    How to Add a User to Sudoers on Ubuntu
    Docker 批量删除images
    解决 Laradock 安装时候出现 Can't open /home/laradock/.nvm/nvm.sh 的问题
    Add User To Docker Group In Ubuntu Linux
    Parted分区和创建逻辑卷LVM
    How To List Users and Groups on Linux
    How to Install Node.js and NPM on Mac OS
    linux中的alias命令详解
    Hadoop数据类型
  • 原文地址:https://www.cnblogs.com/awkflf11/p/4613042.html
Copyright © 2011-2022 走看看