Android手势实现切换界面的效果

定义手势对象detector=new GestureDetector(new GestureListener());
	listView.setOnTouchListener(new TouhListener());//设置监听手势
  //触摸屏幕监听
	class TouhListener implements OnTouchListener{


		@Override
		public boolean onTouch(View v, MotionEvent event) {
			// TODO Auto-generated method stub
//			Toast.makeText(getApplicationContext(), "----?", event.getAction()).show();
			return detector.onTouchEvent(event);
		}
		
	}
//手势滑动监听
	class GestureListener implements OnGestureListener{

		@Override
		public boolean onDown(MotionEvent e) {
			// TODO Auto-generated method stub
		/*
		 * 当触摸屏幕是使用这个函数
		 */
//			Toast.makeText(getApplicationContext(), "-----------> onDown", Toast.LENGTH_LONG).show();
			return false;
		}

		@Override
		public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
				float velocityY) {
			
			try { 
				if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH) 
				return false; 
				// right to left swipe 
				if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE 
				&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { 
				Log.i("test ", "right"); 
				Animation reverse = AnimationUtils
						.loadAnimation(AgendaGridViewActivity.this, R.anim.push_left);
				if(index == 3){
					setSelect(index = 0,reverse);
				}else{
					setSelect(index =index+1,reverse);
				}
				gridMenus.setNextFocusRightId(View.FOCUS_DOWN);
				} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE 
				&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { 
				Log.i("test ", "left"); 
				Animation reverse = AnimationUtils
						.loadAnimation(AgendaGridViewActivity.this, R.anim.push_right);

				if(index == 0){
					setSelect(index = 3,reverse);
				}else{
					setSelect(index = index-1,reverse);
				}
				} 
				} catch (Exception e) { 
				// nothing 
				} 
				return false; 
		}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值