onGestureListener得和onTouchListener配合使用
private GestureDetector detector
Oncreate内创建对象,并添加View的监听事件
detector = new GestureDetector((OnGestureListener)this);//在 Activity 中实现 OnGestureListener 的接口 onFling() 等手势事件
view.setOnTouchListener(this);//实现时调用detector
view.setLongClickable(true);//当捕获不了onFling事件,可加上词代码,并调整onScroll的返回结果 true /false
通过onTouchEvent() 注册 myGesture.onTouchEvent(event)
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return detector.onTouchEvent(event);
}
//实现手势
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// TODO Auto-generated method stub
if (e1.getX() - e2.getX() > 20 && Math.abs(velocityX) > 0) {
// "向左手势",
}
else if (e2.getX() - e1.getX() >20 && Math.abs(velocityX) > 0) {
// "向右手势",
}
return true;
}
本文深入探讨了在Android应用开发中如何利用onGestureListener与onTouchListener配合实现手势识别,包括如何在Activity中创建并配置这些监听器,以及如何通过onTouchEvent和onFling方法实现特定的手势响应。同时,介绍了长按操作的处理方法,包括如何通过设置view.setLongClickable(true)来捕获无法通过onFling事件的手势。
1098

被折叠的 条评论
为什么被折叠?



