自己对于android左右滑动切换tab或者任务的复制

首先感谢下我看到的那篇文章作者 当然不记得名字了 对不住了

要实现左右滑动来切换tab或者任务 分别继承了TabActivity或者Activity 然后自己实现OnTouchListener, OnGestureListener这两个接口

介绍重点函数:

public boolean onTouch(View v, MotionEvent event) {
		// TODO Auto-generated method stub
		 return mGestureDetector.onTouchEvent(event); 
	}
看名字大概就知道是检测对屏幕操作的函数 用来返回手指在屏幕上的操作细节

mGestureDetector是用系统函数GestureDetector生成的对象 

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
			float velocityY) {
		int total=tabHost.getTabWidget().getChildCount();
		int current=tabHost.getCurrentTab();
		// TODO Auto-generated method stub
		 if (e1.getX()-e2.getX() > FLING_MIN_DISTANCE 
	                && Math.abs(velocityX) > FLING_MIN_VELOCITY) { 
	            // Fling left 
	            Toast.makeText(this, "向左手势", Toast.LENGTH_SHORT).show(); 
	            
	          //在这里添加向左滑动屏幕完成的任务 下面是设置tab的当前项也就实现的切换功能
		//当然如果是  
		//Intent intent = new Intent(ViewSnsActivity.this, UpdateStatusActivity.class);   
			//          startActivity(intent);
			//就能完成其他Activity的切换

	            tabHost.setCurrentTab(current+1>total?total-1:current+1);
	        } else if (e2.getX()-e1.getX() > FLING_MIN_DISTANCE 
	                && Math.abs(velocityX) > FLING_MIN_VELOCITY) { 
	            // Fling right 
	        	tabHost.setCurrentTab(current-1<0?0:current-1);
		//同向左滑动
	            Toast.makeText(this, "向右手势", Toast.LENGTH_SHORT).show(); 
	        } 
	        return false; 
	}

其中

FLING_MIN_DISTANCE这个是用来定义滑动的最短距离  根据他来判断是不是滑动了 然后作出决定

FLING_MIN_VELOCITY移动速度 慢了也不反应 相当于降噪吧
复制下来 以后忘了可以再来看

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值