您的位置:首页 > 移动开发 > Android开发

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);
}

}

比如点击一下屏幕:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息