80,362
社区成员
发帖
与我相关
我的任务
分享
iv_dragPicture.setOnTouchListener(new OnTouchListener() {
int lastX,lastY;
/**
* @param v
* @param event
* @return
*/
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int action=event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
lastX=(int) event.getRawX();
lastY=(int) event.getRawY();
//逐一判断类型
// for(int i=0;i<event.getPointerCount();i++){
// if(MotionEvent.TOOL_TYPE_MOUSE==event.getToolType(i)){
//
// }
// }
break;
case MotionEvent.ACTION_MOVE:
//移动中动态设置位置
int dx =(int)event.getRawX() - lastX;
int dy =(int)event.getRawY() - lastY;
int left = v.getLeft() + dx;
int top = v.getTop() + dy;
int right = v.getRight() + dx;
int bottom = v.getBottom() + dy;
if(left < 0){
left = 0;
right = left + v.getWidth();
}
if(right > screenWidth){
right = screenWidth;
left = right - v.getWidth();
}
if(top < 0){
top = 0;
bottom = top + v.getHeight();
}
if(bottom > screenHeight){
bottom = screenHeight;
top = bottom - v.getHeight();
}
v.layout(left, top, right, bottom);
lastX = (int) event.getRawX();
lastY = (int) event.getRawY();
break;
default:
break;
}
return false;
}
});
iv_dragPicture.setOnLongClickListener(new OnLongClickListener() {
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
// Log.v("longClick","trigger");
return false;
}
});