
有任何想法吗??谢谢
我的活动课
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(…)方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)