您的位置:首页 > 其它

如何实现,根据屏幕的拖动方向,进行前后的滚屏

2011-09-28 11:45 756 查看
这是根据拖动的方向,判断程序。再根据 pageAction 的值,调用相关的Animation,进行翻页或者滚屏处理。
/**

* 拖动事件的处理,在页面调用时使用 * @author yubo

*

*/

class TouchListenerConn implements OnTouchListener {

public boolean onTouch(View v, MotionEvent event) {

float distanceX;

float distanceY;

float distance;

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN: // 按下

touchDownX = event.getX(); // 触控的X轴位置

touchUpX = touchDownX;

touchDownY = event.getY(); // 触控的Y轴位置

touchUpY = touchDownY;

break;

case MotionEvent.ACTION_UP: // 放开

touchUpX = event.getX();

touchUpY = event.getY();

distanceX = touchUpX - touchDownX;

distanceY = touchUpY - touchDownY;

// X轴偏差 >= Y轴得偏差 采用X轴移动

if (Math.abs(distanceX)>DISTANCE ||Math.abs(distanceY)>DISTANCE )

{

//向左

if (Math.abs(distanceX) >= Math.abs(distanceY)){

//向左或者向右

if (distanceX <0 ) {

//如果左边位移大于上下位移

pageAction="LEFTTORIGHT" ; //翻页动作 LEFTTORIGHT/RIGHTTOLEFT/BOTTOMTOTOP/TOPTOBOTTOM

PageDownProcess();

}

else {

pageAction="RIGHTTOLEFT" ; //翻页动作 LEFTTORIGHT/RIGHTTOLEFT/BOTTOMTOTOP/TOPTOBOTTOM

PageUpProcess();

}

}

else {

//向上或者向下

if (distanceY > 0){

//向下翻页,下页

pageAction="TOPTOBOTTOM" ; //翻页动作 LEFTTORIGHT/RIGHTTOLEFT/BOTTOMTOTOP/TOPTOBOTTOM

PageUpProcess();

}

else {

//向上翻页/前页

pageAction="BOTTOMTOTOP" ; //翻页动作 LEFTTORIGHT/RIGHTTOLEFT/BOTTOMTOTOP/TOPTOBOTTOM

PageDownProcess();

}

}

}

break;

}

return true;

}

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