您的位置:首页 > 移动开发 > Android开发

Android手势滑动识别器应用

2015-07-28 21:25 531 查看
1.创建一个手势识别器GestureDetector,实现相应的Listener

2.对应的Activity中捕获手势事件,并传递到GestureDetector

3.在listener中实现针对收到event的相应动作

下面以手势识别器收到滑动事件,切换activity为例:

public abstract class BaseGDActivity extends Activity {
	private GestureDetector gestureDetector;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    	// TODO Auto-generated method stub
    	super.onCreate(savedInstanceState);
    	gestureDetector = new GestureDetector(this, new SimpleOnGestureListener() {
			//velocityX表示滑动速度
    		@Override
			public boolean onFling(MotionEvent e1, MotionEvent e2,
					float velocityX, float velocityY) {
    			//避免倾斜滑动
    			if(Math.abs(e1.getRawY()-e2.getRawY()) > 100){
    				//Toast.makeText(context, text, duration)
    				return true;
    			}
    			//避免滑动速度过慢
    			if(Math.abs(velocityX) < 200){
    				return true;
    			}
				if((e1.getRawX() - e2.getRawX()) > 200){
					turnNext();//滑动到下一页
					return true;
				}else if((e2.getRawX() - e1.getRawX()) > 200){
					turnPre();//滑动到上一页
				    return true;
				}
				
				return super.onFling(e1, e2, velocityX, velocityY);
			}

		});
    }
    
	 /**
	  * 接收touch event   
	  */
	 @Override
	public boolean onTouchEvent(MotionEvent event) {
		return gestureDetector.onTouchEvent(event);		
	} 
	 
	public abstract void turnNext(); 
	
	public abstract void turnPre(); 
	
}


继承该activity,在对应的activity中实现切换下一页turnNext和上一页turnPre方法即可。

完成!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: