首页 > 其他 > 详细

Gesture--向上滑动,上下滑动

时间:2014-03-08 02:52:56      阅读:462      评论:0      收藏:0      [点我收藏+]

问题:

在写一个手机通讯录界面,已完成界面,但是为了能够在屏幕上面显示更多内容,希望能够下往上滑的时候隐藏四个tabs,而在向下滑得时候再显示这四个tabs.

解决方案:

Android中Schrolling 主要包含两中方式:Dragging:拖动,Fling:扔,区别在于速度上面。
明显此刻的需求要求使用fling. 在onFling()方法中可以得到fling开始和结尾的x,y轴的位置,还有“扔”这个动作在x,y轴上的速度(velocity)。
注:屏幕的左上角为(0,0)...

实现:

1 注册手势监听器,为了能够向下兼容使用支持库。

private GestureDetectorCompat mDetector;

mDetector = new GestureDetectorCompat(this, new MyGestureListener()); // 绑定手势监听器


2 编写手势监听器

class MyGestureListener extends GestureDetector.SimpleOnGestureListener {

private static final String DEBUG_TAG = "Gestures";


@Override

public boolean onDown(MotionEvent event) {

Log.d(DEBUG_TAG, "onDown: ");

return true;

}


/**

* 左上角是(0,0)

*/

@Override

public boolean onFling(MotionEvent event1, MotionEvent event2,

float velocityX, float velocityY) {

Log.d(DEBUG_TAG, "x坐标:"+String.valueOf(event1.getX())+","+String.valueOf(event2.getX()));

Log.d(DEBUG_TAG, "x坐标差值:"+String.valueOf(event1.getX()-event2.getX()));

Log.d(DEBUG_TAG, "X速度:"+String.valueOf(Math.abs(velocityX)));

Log.d(DEBUG_TAG, "y坐标:"+String.valueOf(event1.getY())+","+String.valueOf(event2.getY()));

Log.d(DEBUG_TAG, "y坐标差值:"+String.valueOf(event1.getY()-event2.getY()));

Log.d(DEBUG_TAG, "y速度:"+String.valueOf(Math.abs(velocityY)));

// Log.d(DEBUG_TAG,

// "onFling: " + event1.toString() + event2.toString());

/**

* 监听向上手势:

* Y:

* y1大,y2小

* 速度取绝对值

*/

if(event1.getY()-event2.getY()>200 && Math.abs(velocityY)>200)

Toast.makeText(GestureActivity2.this, "向上滑动", Toast.LENGTH_SHORT).show();

/**

* 监听向下手势

* Y:

* y1小,y2大

* 速度取绝对值

*/

if(event2.getY()-event1.getY()>0 && Math.abs(velocityY)>200)

Toast.makeText(GestureActivity2.this, "向下滑动", Toast.LENGTH_SHORT).show();

return true;

}

@Override

public boolean onSingleTapUp(MotionEvent e) {

Log.d(DEBUG_TAG, "onSingleTapUp");

return super.onSingleTapUp(e);

}

@Override

public boolean onDoubleTap(MotionEvent e) {

Log.d(DEBUG_TAG, "onDoubleTap");

return super.onDoubleTap(e);

}


}





Gesture--向上滑动,上下滑动,布布扣,bubuko.com

Gesture--向上滑动,上下滑动

原文:http://blog.csdn.net/zqx198810/article/details/20715427

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!