在应用程序中,假设我们有一张汽车的图像,并在其上标记了损坏点。我们可以在图像的任何位置标记这一点,如下所示。
假设我们在屏幕尺寸为“5英寸”的设备上标记了这个点,然后计算出这个点的坐标并发送给服务器。 现在用户正在使用另一台屏幕尺寸为“8英寸”的设备。用户希望在他的新设备中看到那些标记点。但从服务器获取实际值后,他无法看到点的适当位置。
最佳答案
我认为坐标取决于设备的屏幕 dpi。假设您的服务器始终将坐标存储在 mdpi 中。然后您应该在不同 dpi 下获得设备上的正确坐标,如下所示:
DisplayMetrics dm = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
float screenAdjust = (float) dm.densityDpi / 160f;
int x = (int) (x_value_from_server) * screenAdjust);
int y = (int) (y_value_from_server) * screenAdjust);
关于android - 在android中针对不同的屏幕尺寸使用坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43132835/