我正在使用Android Animation
,但是我发现Android坐标系非常令人困惑,因此我在这里提出有关坐标在Android中如何工作的问题。我正在按照此图像将一个视图移动到另一个视图,但似乎不起作用:
我正在使用Android Animation
,但是我发现Android坐标系非常令人困惑,因此我在这里提出有关坐标在Android中如何工作的问题。我正在按照此图像将一个视图移动到另一个视图,但似乎不起作用:
Answers:
此图同时显示了两个方向(横向/纵向)
要获得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()'
而且getwidth()和getHeight()是android中android.view.View 类的方法。因此,当您的java类扩展View类时,没有windowManager开销。
int maxX=getwidht();
int maxY=getHeight();
就如此容易。
这张照片有望消除大家从那里收集到的混乱。
View
withlayout_width="1" layout_height="1"
,是否意味着左上角是(0,0),右下角是(1,1)?那不是意味着View
宽度= 2高度= 2吗?矛盾。