用ViewFlipper实现手势滑动

ViewFlipper也可以结合onTouchEvent实现手势滑动。

在MainActivity中重写onTouchEvent方法,可以响应各种屏幕事件。通过一个变量startX保存手势起始坐标,并与当前坐标比较,可以判断向左滑动还是向右滑动。

示例代码如下:

	@Override
	public boolean onTouchEvent(MotionEvent event) {
		switch(event.getAction()){
		case MotionEvent.ACTION_DOWN:		//手指按下
			startX = event.getX();
			break;
		case MotionEvent.ACTION_MOVE:		//手指滑动
			//向右滑动
			if(event.getX() - startX > 100){
				viewFlipper.setInAnimation(this, R.anim.left_in);
				viewFlipper.setOutAnimation(this, R.anim.left_out);
				viewFlipper.showPrevious();
			}
			//向左滑动
			if(startX - event.getX() > 100){
				viewFlipper.setInAnimation(this, R.anim.right_in);
				viewFlipper.setOutAnimation(this, R.anim.right_out);
				viewFlipper.showNext();
			}
			break;
		case MotionEvent.ACTION_UP:		//手指离开
			break;
		}
		return super.onTouchEvent(event);
	}


你可能感兴趣的:(android开发)