我定义了一个扩展GestureDetector.SimpleOnGestureListener的类,并重写了onDown和onFling方法
class MyGestureDetector extends GestureDetector.SimpleOnGestureListener { @OverrIDe public boolean onDown(MotionEvent e) { // Todo auto-generated method stub return super.onDown(e); } @OverrIDe public boolean onFling(MotionEvent e1, MotionEvent e2, float veLocityX, float veLocityY) { // Todo auto-generated method stub Toast.makeText(PersianDatePicker.this.getContext(), "fling " + veLocityX + " - " + veLocityY, Toast.LENGTH_LONG) .show(); return super.onFling(e1, e2, veLocityX, veLocityY); }}
我还定义了一个GestureDetectorCompat实例
@OverrIDepublic boolean ontouchEvent(MotionEvent event) { mDetector.ontouchEvent(event); return super.ontouchEvent(event);}
我在一项活动中对其进行了测试,并且效果很好.我想在自定义视图中使用它,但是它不起作用!而且我没有错误.
解决方法:
在您的自定义视图中,尝试执行以下 *** 作:
@OverrIDepublic boolean ontouchEvent(MotionEvent event) { if (mGestureDetector.ontouchEvent(event)) { return true; } return super.ontouchEvent(event);}
或者,更简洁地说:
@OverrIDepublic boolean ontouchEvent(MotionEvent event) { return mGestureDetector.ontouchEvent(event) || super.ontouchEvent(event);}
总结 以上是内存溢出为你收集整理的android-自定义视图上的手势检测器全部内容,希望文章能够帮你解决android-自定义视图上的手势检测器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)