Android 如何计算相对于在ImageView中绘制的位图的触摸事件?
我创建了一个imageView,在其中我在画布上绘制了一个位图。ImageView比我绘制的位图高,因此图像最终垂直居中 在draw方法中,位图的左上角由坐标(0,0)表示,而右下角由(bounds.bottom,bounds.right)表示(使用drawable类中的getBounds获得) 我正在ImageView中跟踪触摸事件。我的问题是,如何计算相对于绘制的位图的触摸事件?我找不到有关绘制位置的信息,无法计算相对事件坐标Android 如何计算相对于在ImageView中绘制的位图的触摸事件?,android,Android,我创建了一个imageView,在其中我在画布上绘制了一个位图。ImageView比我绘制的位图高,因此图像最终垂直居中 在draw方法中,位图的左上角由坐标(0,0)表示,而右下角由(bounds.bottom,bounds.right)表示(使用drawable类中的getBounds获得) 我正在ImageView中跟踪触摸事件。我的问题是,如何计算相对于绘制的位图的触摸事件?我找不到有关绘制位置的信息,无法计算相对事件坐标 例如,触摸位图的左上角将返回位置(0,0)处的事件。只要您确定图
例如,触摸位图的左上角将返回位置(0,0)处的事件。只要您确定图像居中: y坐标相对于图像=触摸y坐标-(屏幕高度-图像高度)/2 x_坐标相对于图像=触摸x_坐标-(屏幕宽度-图像宽度)/2 如果它没有在x方向居中,那么如果它是左对齐的,你不需要做任何事情。如果它是右对齐的,那么你减去宽度的差异,但不需要系数2 话虽如此,您可能会遇到以下问题: 如果您的AndroidManifest.xml配置不正确,则触摸坐标的范围似乎与屏幕像素分辨率的范围不同