安卓屏幕坐标是如何工作的?

我使用的是 Android Animation,我发现 Android 的坐标系非常令人困惑,所以我在这里问一个关于 Android 中坐标是如何工作的问题。我正在跟随这张图片移动一个视图到另一个视图,但它似乎不起作用:

image

123268 次浏览

enter image description here

这张图片显示了两个方向(风景/人像)

要得到 MaxX 和 MaxY,请继续阅读。

对于 Android 设备屏幕坐标,下面的概念将工作。

Display mdisp = getWindowManager().getDefaultDisplay();
Point mdispSize = new Point();
mdisp.getSize(mdispSize);
int maxX = mdispSize.x;
int maxY = mdispSize.y;

编辑:-* * * * 用于支持超过13级的 android API 的设备。可以使用以下代码。

    Display mdisp = getWindowManager().getDefaultDisplay();
int maxX= mdisp.getWidth();
int maxY= mdisp.getHeight();

(x,y) :-

1) (0,0)是左上角。

2) (maxX,0)在右上角

3) (0,maxY)在左下角

4) (maxX,maxY)在右下角

这里 maxX 和 maxY 是屏幕的最大高度和宽度(以像素为单位) ,我们已经在上面给定的代码中检索到了它们。

对于 Android API 级别13,您需要使用以下内容:

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int maxX = size.x;
int maxY = size.y;

然后(0,0)是左上角,(maxX,maxY)是屏幕的右下角。

自从 API 13以来,屏幕大小的“ getWidth ()”已不再使用

此外,格特维斯()GetHeight ()是 < a href = “ https://developer.android.com/reference/android/View/View”rel = “ nofollow norefrer”> android.View 所以当你的 java 类扩展 View 类的时候,没有任何 windowManager 的开销。

          int maxX=getwidht();
int maxY=getHeight();

就这么简单。

这张图片将消除每个人的困惑,希望是从 那里收集。

Android screen coordinate