android屏幕坐标如何工作?

时间:2012-07-14 11:24:40

标签: android android-animation coordinate-systems

我正在使用Android Animation并且我发现Android坐标系统非常混乱,所以我在这里询问有关坐标如何在Android中运行的问题。我正在关注此图像,将一个视图移动到另一个视图,但它似乎无效:

image

3 个答案:

答案 0 :(得分:263)

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是屏幕最大高度和宽度(以像素为单位),我们已在上面给出的代码中检索过。

答案 1 :(得分:17)

对于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()'

此外getwidth()getHeight()android.view.View的方法  在android.So中,当你的java类扩展View类时,没有windowManager开销。

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

就这么简单。

答案 2 :(得分:4)

这张图片有望消除每个人从there那里收集到的困惑。

Android screen coordinate