android 触摸手势 OnGestureListener
2013-01-19 15:31
323 查看
OnGestureListener 可以处理一些简单的触摸手势,比如滑动,长按等,
OnGestureListener不能直接设置侦听的,可以设置OnTouchListener,让其指向OnGestureListener
public class GestureView extends View implements OnTouchListener, OnGestureListener
{
GestureDetector mGestureDetector;
public GestureView(Context context)
{
super(context);
this.setOnTouchListener(this);
mGestureDetector = new GestureDetector(this);
}
@Override
public boolean onDown(MotionEvent e)
{
Log.i("@fred", "触摸手势:onDown");
return true;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
{
if (e2.getX() - e1.getX() > 50)
{
Log.i("@fred", "触摸手势:onFling");
}
return true;
}
@Override
public void onLongPress(MotionEvent e)
{
Log.i("@fred", "触摸手势:onLongPress");
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
{
Log.i("@fred", "触摸手势:onScroll");
return true;
}
@Override
public void onShowPress(MotionEvent e)
{
Log.i("@fred", "触摸手势:onShowPress");
}
@Override
public boolean onSingleTapUp(MotionEvent e)
{
Log.i("@fred", "触摸手势:onSingleTapUp");
return true;
}
@Override
public boolean onTouch(View v, MotionEvent event)
{
// 将MotionEvent事件传到GestureDetector
return mGestureDetector.onTouchEvent(event);
}
}
比如点击一下屏幕:
OnGestureListener不能直接设置侦听的,可以设置OnTouchListener,让其指向OnGestureListener
public class GestureView extends View implements OnTouchListener, OnGestureListener
{
GestureDetector mGestureDetector;
public GestureView(Context context)
{
super(context);
this.setOnTouchListener(this);
mGestureDetector = new GestureDetector(this);
}
@Override
public boolean onDown(MotionEvent e)
{
Log.i("@fred", "触摸手势:onDown");
return true;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
{
if (e2.getX() - e1.getX() > 50)
{
Log.i("@fred", "触摸手势:onFling");
}
return true;
}
@Override
public void onLongPress(MotionEvent e)
{
Log.i("@fred", "触摸手势:onLongPress");
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
{
Log.i("@fred", "触摸手势:onScroll");
return true;
}
@Override
public void onShowPress(MotionEvent e)
{
Log.i("@fred", "触摸手势:onShowPress");
}
@Override
public boolean onSingleTapUp(MotionEvent e)
{
Log.i("@fred", "触摸手势:onSingleTapUp");
return true;
}
@Override
public boolean onTouch(View v, MotionEvent event)
{
// 将MotionEvent事件传到GestureDetector
return mGestureDetector.onTouchEvent(event);
}
}
比如点击一下屏幕:
相关文章推荐
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- Android最佳实践之触摸手势
- Android ViewFlipper 手势触摸案例
- Android 手势&触摸事件 MotionEvent
- Qt for android触摸手势事件QGestureEvent
- [Android分享] 使用触摸手势(二)
- Android 手势&触摸事件
- Android 手势&触摸事件 MotionEvent
- Android最佳实践之触摸手势
- Android 触摸手势基础 官方文档概览
- Android 触摸手势(来自官方文档)
- Android手势识别ViewFlipper触摸动画
- Android 手势&触摸事件
- Androin学习笔记五十四: android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- Android 触摸及手势操作GestureDetector
- Android之触摸手势检测GestureDetector使用详解
- Android开发08_OnTouchevent触摸事件(手势监听)
- Android 触摸及手势操作GestureDetector
- android自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- Android手势识别ViewFlipper触摸动画