android – SimpleOnGestureListener永远不会进入onFling(…)方法

android – SimpleOnGestureListener永远不会进入onFling(…)方法,第1张

概述你好SimpleOnGestureListener不能在我的应用程序中工作这就是我实现它的方式.也许你可以发现什么是错的.事情是调试显示应用程序永远不会进入onFling(…)方法和gdt.onTouchEvent(事件);总是返回false:/ 有任何想法吗??谢谢 我的活动课 public class SimpleActivity extends Activity{@Overridep 你好SimpleOnGestureListener不能在我的应用程序中工作这就是我实现它的方式.也许你可以发现什么是错的.事情是调试显示应用程序永远不会进入onFling(…)方法和gdt.ontouchEvent(事件);总是返回false:/
有任何想法吗??谢谢

我的活动课

public class SimpleActivity extends Activity{@OverrIDepublic voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.simpleLayout);    final ImageVIEw imageVIEw = (ImageVIEw) findVIEwByID(R.ID.gggbbb);     imageVIEw.setontouchListener(new OnFlingGestureListener() {        @OverrIDe        public voID ontopToBottom() {           System.out.println("top");        }        @OverrIDe        public voID onRightToleft() {            System.out.println("right");        }        @OverrIDe        public voID onleftToRight() {            System.out.println("left");        }        @OverrIDe        public voID onBottomTotop() {            System.out.println("bottom");        }     });}    }

我的抽象听众

package com.dmd.clIEnt.detailsMenus; import androID.vIEw.GestureDetector; import androID.vIEw.GestureDetector.SimpleOnGestureListener; import androID.vIEw.MotionEvent; import androID.vIEw.VIEw; import androID.vIEw.VIEw.OntouchListener; public abstract class OnFlingGestureListener implements OntouchListener {  private final GestureDetector gdt = new GestureDetector(new GestureListener());  @OverrIDe  public boolean ontouch(final VIEw v,final MotionEvent event) {     return gdt.ontouchEvent(event);  }  private final class GestureListener extends SimpleOnGestureListener {     private static final int SWIPE_MIN_disTANCE = 60;     private static final int SWIPE_THRESHolD_VELociTY = 100;     @OverrIDe     public boolean onFling(MotionEvent e1,MotionEvent e2,float veLocityX,float veLocityY) {         if(e1.getX() - e2.getX() > SWIPE_MIN_disTANCE && Math.abs(veLocityX) > SWIPE_THRESHolD_VELociTY) {             onRightToleft();             return true;          } else if (e2.getX() - e1.getX() > SWIPE_MIN_disTANCE && Math.abs(veLocityX) > SWIPE_THRESHolD_VELociTY) {             onleftToRight();             return true;          }          if(e1.getY() - e2.getY() > SWIPE_MIN_disTANCE && Math.abs(veLocityY) > SWIPE_THRESHolD_VELociTY) {             onBottomTotop();             return true;          } else if (e2.getY() - e1.getY() > SWIPE_MIN_disTANCE && Math.abs(veLocityY) > SWIPE_THRESHolD_VELociTY) {             ontopToBottom();             return true;          }          return false;     }  }  public abstract voID onRightToleft();  public abstract voID onleftToRight();  public abstract voID onBottomTotop();  public abstract voID ontopToBottom();}
解决方法 替换此事件:
@OverrIDepublic boolean ontouch(final VIEw v,final MotionEvent event) {  gdt.ontouchEvent(event);  return true;}

它应该工作

总结

以上是内存溢出为你收集整理的android – SimpleOnGestureListener永远不会进入onFling(…)方法全部内容,希望文章能够帮你解决android – SimpleOnGestureListener永远不会进入onFling(…)方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1136573.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存