Java 为什么,当我在安卓系统中获得图像的坐标时,它会根据设备的不同而变化?

Java 为什么,当我在安卓系统中获得图像的坐标时,它会根据设备的不同而变化?,java,android,Java,Android,为什么,当我在安卓系统中获得图像的坐标时,它会根据设备的不同而变化? @凌驾 public boolean onTouch(View v, MotionEvent event) { ImageView image = (ImageView) findViewById(R.id.monimage); Log.d("", event.getX()) 为什么当我更换设备时,当我点击图像的太阳时,Nexus 4会打印44;当我使用Nexus 5X时,当我点击图像的太阳时,它会打印另一个数字(例如77)

为什么,当我在安卓系统中获得图像的坐标时,它会根据设备的不同而变化? @凌驾

public boolean onTouch(View v, MotionEvent event) {
ImageView image = (ImageView) findViewById(R.id.monimage);
Log.d("", event.getX())

为什么当我更换设备时,当我点击图像的太阳时,Nexus 4会打印44;当我使用Nexus 5X时,当我点击图像的太阳时,它会打印另一个数字(例如77)?

event.getX()根据屏幕分辨率提供屏幕坐标。例如,nexus 4有768x1280,5x有1080x1920。因此,x和Y位置将根据设备分辨率而变化。

因为这两个设备的屏幕大小不同,您将在坐标系统上获得x,如何获得图像系统的x,与设备无关?请阅读此处