手势识别器
GestureDedector
将触摸事件交给手势识别器
public boolean onTouchEvent(MotionEvent event){
mDetector.onTouchEvent(event);//委托手势识别器处理触摸事件
return super.onTouchEvent(event);
}
重写SimpleOnGestureListener()中的onFling()
public boolean onFling(MotionEvent e1, MotionEvent e2,
float velocityX, float velocityY) {
// 向右划,上一页
if (e2.getRawX() - e1.getRawX() > 200) {
showPreviousPage();
return true;
}
if (e1.getRawX() - e2.getRawX() > 200) {
showNextPage();
return true;
}
return super.onFling(e1, e2, velocityX, velocityY);
}
});
public void showPreviousPage(){
startActivity(new Intent(this, Setup1Activity.class));
finish();
// 两个界面的跳转
overridePendingTransition(R.anim.previous_trans_in,
R.anim.previous_trans_out);
}
public void showNextPage(){
startActivity(new Intent(this, Setup3Activity.class));
finish();
// 两个界面的跳转
overridePendingTransition(R.anim.trans_in, R.anim.trans_out);
}
由于本来跳转就设置了滑动的动画,所以看起来就像是手势滑动的页面跳转
中途遇到一个小问题 在eclipse中并没有SimpleOnGestureListener,看了看源码,发现simpleOnGestureListener是GestureDedector的一个子类了,需要new GestureDetector.SimpleOnGestureListener()这样来调用了。