0

在 android 上拖动矩形位图时,我根据大量示例使用此位图绘制位图

//short cut code, after getting the new position from event
int x = event.x;
int y = event.y;
canvas.drawRect(bitmap, x - bitmapwidth/2,y-bitmapheight/2,null)

但这有一些问题,如果您有一个宽位图并且您碰巧触摸了位图的左侧部分,则位图会以事件的新触摸坐标为中心。

有没有办法拖动位图并保持相对于拖动点的位置?就像鼠标拖动的行为一样?

谢谢

4

1 回答 1

0

据我了解,您希望在手指触摸时相对于起点拖动位图?

这段代码应该可以解决问题(如果是这样的话):

boolean startCoordinatesDefined;
Integer xStart;
Integer yStart;

if(touchdown) {
if(startCoordinatesDefined == false) {
startCoordinatesDefined = true;
xStart = event.x;
yStart = event.y;
}
canvas.drawRect(bitmap, event.x - xStart - bitmapwidth/2, event.y - yStart - bitmapheight/2, null);
}
else {
startCoordinatesDefined = false;
xStart = null;
yStart = null;
}
于 2012-07-13T18:01:59.583 回答