(Android)不同分辨率的不同坐标如何修复?

时间:2012-02-07 13:28:27

标签: android imageview coordinates

我正在制作一个游戏,用户应该识别一个人脸部的部分。我应该得到图像上的坐标,但是我已经尝试过不同的手机/分辨率,但我得到了不同的坐标。怎么解决这个家伙?拜托,我真的需要帮助

2 个答案:

答案 0 :(得分:1)

这可能不是最好的方法,但我做得很成功

double windowWidth = getWindow().getDecorView().getWidth();
double windowHeight = getWindow().getDecorView().getHeight();
float xDensity = event.getX();
double x = (xDensity / windowWidth) * 100;
float yDensity = event.getY();
double y = (yDensity / windowHeight) * 100;

* 100不是必需的;我只是出于显示目的。

答案 1 :(得分:0)

图像应该由不同的可绘制视图构成,您可以抓住按下的状态。

如果您在哪里使用静态图像,则无法使用坐标系(基于px),因为手机和其他Android设备的屏幕尺寸不同。这种方式的另一种选择是使用dip(密度无关像素)而不是px。