package com.example.velocity;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.GestureDetector.OnDoubleTapListener;
import android.view.GestureDetector.OnGestureListener;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.RelativeLayout;
public class MainActivity extends ActionBarActivity implements OnGestureListener, OnDoubleTapListener {
private RelativeLayout rl;
private GestureDetector gd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rl = (RelativeLayout) findViewById(R.id.rl);
gd = new GestureDetector(this);
gd.setOnDoubleTapListener(this);
rl.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
boolean onTouchEvent = gd.onTouchEvent(event);
return onTouchEvent;
}
});
}
@Override
public boolean onDown(MotionEvent e) {
// TODO Auto-generated method stub
System.out.println("down");
return true;
}
@Override
public void onShowPress(MotionEvent e) {
// TODO Auto-generated method stub
System.out.println("没松开或者拖动");
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
System.out.println("单击行为");
return true;
}
//滑动中触发
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
// System.out.println("onScroll");
// if(e1.getRawX()-e2.getRawX()<0){
// System.out.println("右滑");
// }else if(e1.getRawX()-e2.getRawX()>0){
// System.out.println("左滑");
// }
return false;
}
//长按
@Override
public void onLongPress(MotionEvent e) {
// TODO Auto-generated method stub
}
//滑动结束触发
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
if(e1.getRawX()-e2.getRawX()<-300){
System.out.println("右滑");
}else if(e1.getRawX()-e2.getRawX()>300){
System.out.println("左滑");
}
return true;
}
//严格的单击行为
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
//双击,不可能和onSingleTapConfirmed共同
@Override
public boolean onDoubleTap(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onDoubleTapEvent(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
}