Android手势滑动事件

手机进入智能时代,手机屏幕的滑动成为人们每天操作手机的必然操作方式。android 手机中的操作是什么样的呢,下面我们来看一下。

public class TankOneActivity extends BaseActivity implements OnTouchListener,
		OnGestureListener, OnClickListener {

	GestureDetector mGestureDetector;
	private int verticalMinDistance = 20;
	private int minVelocity = 0;

	ImageView imageView;
	float start;
	float end;
	int i = 0;

	/*** 底部按钮 ***/
	Button btn_dizuo;

	@SuppressWarnings("deprecation")
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.tankone_layout);

		mGestureDetector = new GestureDetector((OnGestureListener) this);

		initui();
	}

	/**
	 * 初始化控件
	 */
	private void initui() {
		// TODO Auto-generated method stub
		imageView = (ImageView) findViewById(R.id.tank_img);
		imageView.setBackgroundResource(ImageUtils.img[0]); // 显示第一长图片
		imageView.setOnTouchListener(this);
		imageView.setLongClickable(true);

		btn_dizuo = (Button) findViewById(R.id.btn_one);
		btn_dizuo.setOnClickListener(this);
	}

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		if (v == btn_dizuo) {
			ToActivityPushDown(DiZuoActivity.class, null);
		}
	}

	@Override
	public boolean onDown(MotionEvent e) {
		// TODO Auto-generated method stub
		start = e.getX();
		return false;
	}

	@Override
	public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
			float velocityY) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public void onLongPress(MotionEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
			float distanceY) {
		// TODO Auto-generated method stub

		if (e1.getX() - e2.getX() > verticalMinDistance
				&& Math.abs(distanceX) > minVelocity) {
			end = e2.getX();

			if (start - end > 0) {
				if (i >= 0 && i < ImageUtils.img.length - 1) {
					i++;
					imageView.setBackgroundResource(ImageUtils.img[i]);

				}
				start = end;
				if (i == 80) {
					i = 0;
				}

			}
		} else if (e2.getX() - e1.getX() > verticalMinDistance
				&& Math.abs(distanceX) > minVelocity) {
			// System.out.println("向右滑动");

			end = e2.getX();

			if (end - start > 0) {
				if (i > 0 && i <= ImageUtils.img.length - 1) {
					i--;
					imageView.setBackgroundResource(ImageUtils.img[i]);
				}
				start = end;
				if (i == 0) {
					i = 80;
				}
			}
		}

		return false;
	}

	@Override
	public void onShowPress(MotionEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public boolean onSingleTapUp(MotionEvent e) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean onTouch(View v, MotionEvent event) {
		// TODO Auto-generated method stub
		return mGestureDetector.onTouchEvent(event);
	}
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值