View里的getX,getY和getRawX,getRawY的疑问
在实现一个view移动的时候,用getX移动时,会造成view的跳动,用getRawX则没有这个问题,主要代码如下:
int lastX;
int lastY;
@Override
public boolean onTouchEvent(MotionEvent event) {
int x = (int) event.getX();
int y = (int) event.getY();
// int x = (int)event.getRawX();
// int y = (int)event.getRawY();
//
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
lastX = x;
lastY = y;
break;
case MotionEvent.ACTION_MOVE:
int distanceX = x - lastX;
int distanceY = y - lastY;
layout(getLeft()+distanceX,getTop()+distanceY,getRight()+distanceX,getBottom()+distanceY);
lastX = x;
lastY = y;
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
谁能帮忙解答一下?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论