怎么获取motionevent.getyAction
1个回答
2017-04-06 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
我在使用scrollView的时候实现过这个功能,供参考
scrollView.setOnTouchListener(new OnTouchListener() {
private float downY;
private float moveY;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// event.getY()获得的是以当前控件的左上角为坐标原点得到的纵坐标值
// 而 event.getRawY()获得的是以屏幕左上角(不管有没有标题栏)为坐标原点得到的纵坐标值
// 单位:px
downY = event.getY();
break;
case MotionEvent.ACTION_MOVE:
moveY = event.getY();
if (moveY - downY > 20) {// 往下滑的幅度大于20px
} else if (moveY - downY < -20) {// 往上滑的幅度大于20px
}
break;
default:
break;
}
return false;
}
});
scrollView.setOnTouchListener(new OnTouchListener() {
private float downY;
private float moveY;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// event.getY()获得的是以当前控件的左上角为坐标原点得到的纵坐标值
// 而 event.getRawY()获得的是以屏幕左上角(不管有没有标题栏)为坐标原点得到的纵坐标值
// 单位:px
downY = event.getY();
break;
case MotionEvent.ACTION_MOVE:
moveY = event.getY();
if (moveY - downY > 20) {// 往下滑的幅度大于20px
} else if (moveY - downY < -20) {// 往上滑的幅度大于20px
}
break;
default:
break;
}
return false;
}
});
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询