做个地图移动,想的是移动地图然后刷新屏幕中心点的经纬度再后面根据这个经纬度刷新显示地图,新手,自己捣鼓出的移动效果是这样的,。。感觉把整个画布都移动了因为黑色的区域部分触摸没有反应。模拟器和真机上运行都是这样的,效果图如下,各位高手看看这个事哪里的问题?要是想实现我要的效果应该怎么改?求达人相助!!!!!!!!!移动部分的代码也贴出来,如下:public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
lastX = (int) event.getRawX();
lastY = (int) event.getRawY();
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;
v.layout(left, top, right, bottom);
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
};
图,第一个是没移动的时候,第二个事移动时出现的样子
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
lastX = (int) event.getRawX();
lastY = (int) event.getRawY();
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;
v.layout(left, top, right, bottom);
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
};
图,第一个是没移动的时候,第二个事移动时出现的样子
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货