我正在使用Android Animation
并且我发现Android坐标系统非常混乱,所以我在这里询问有关坐标如何在Android中运行的问题。我正在关注此图像,将一个视图移动到另一个视图,但它似乎无效:
答案 0 :(得分:263)
此图像显示两个方向(横向/纵向)
要获得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那里收集到的困惑。