如何在Android上将视图坐标转换为画布坐标?
我正在将一个应用程序从ios移植到android,其中包括将列表视图中的项目拖放到一个矩形区域的视图中 在Swift上,我使用此代码验证物品是否在主要区域内:如何在Android上将视图坐标转换为画布坐标?,android,canvas,Android,Canvas,我正在将一个应用程序从ios移植到android,其中包括将列表视图中的项目拖放到一个矩形区域的视图中 在Swift上,我使用此代码验证物品是否在主要区域内: func isInsideMainArea(point: CGPoint) -> Bool { let nodePoint = convertPoint(fromView: point); return mainArea?.contains(nodePoint); } 但是在android上,我找不到将视图坐标转换为画
func isInsideMainArea(point: CGPoint) -> Bool {
let nodePoint = convertPoint(fromView: point);
return mainArea?.contains(nodePoint);
}
但是在android上,我找不到将视图坐标转换为画布坐标的正确方法,这样我就可以评估被删除的项目是否在主区域内
到目前为止,这是我的验证代码,但没有按预期工作,因为如果缩放或平移画布,坐标会发生变化:
public Boolean isInsideMainArea(Room testRoom, Float textX, Float testY) {
RectF rectangle = new RectF(
x,
y,
room.getWidth() * CONSTANTS.PIX_PER_METER * metrics.density,
room.getHeight() * CONSTANTS.PIX_PER_METER * metrics.density
);
if(mainArea.contains(rectangle)){
return true;
}
return false;
}
android上是否有与convertPoint功能相当的功能或方法