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

Android随手指移动的DragView(一)——获取偏移量

2016-08-28 23:19 337 查看
想要DragView随着手指移动首先得获取偏移量,获取偏移量一般有2种思路。

(1),通过event.getX()。

@Override
public boolean onTouchEvent(MotionEvent event)
{
int x = (int) event.getX();
int y = (int) event.getY();
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN:
mLastX = x;
mLastY = y;
break;
case MotionEvent.ACTION_MOVE:
int offsetX = x - mLastX;
int offsetY = y - mLastY;

//TODO在这里处理其他逻辑

break;
case MotionEvent.ACTION_UP:
break;
}
//注意这里得返回true,或者给DragView加上android:clickable=true。
return true;
}


(2),通过event.getRawX()。

@Override
public boolean onTouchEvent(MotionEvent event)
{
int rawX = (int) event.getRawX();
int rawY = (int) event.getRawY();
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN:
mLastRawX = rawX;
mLastRawY = rawY;
break;
case MotionEvent.ACTION_MOVE:
int offsetX = rawX - mLastRawX;
int offsetY = rawY - mLastRawY;

//TODO在这里处理其他逻辑

//与第一种方法的不同之处
mLastRawX= rawX;
mLastRawY= rawY;
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐