我正在使用Android Animation
,但发现Android坐标系相当令人困惑,因此在这里询问如何在Android中使用坐标。我正在遵循此图像将一个视图移动到另一个视图,但似乎无法正常工作:
我正在使用Android Animation
,但发现Android坐标系相当令人困惑,因此在这里询问如何在Android中使用坐标。我正在遵循此图像将一个视图移动到另一个视图,但似乎无法正常工作:
这张图片展示了横向和纵向两种屏幕方向
要获取MaxX和MaxY,继续阅读。
对于Android设备屏幕坐标,以下概念适用。
Display mdisp = getWindowManager().getDefaultDisplay();
Point mdispSize = new Point();
mdisp.getSize(mdispSize);
int maxX = mdispSize.x;
int maxY = mdispSize.y;
编辑:- ** **对于支持 Android API 级别低于 13 的设备,可以使用以下代码。
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 是屏幕在像素中的最大高度和宽度,我们已经在以上给出的代码中检索到了这些值。
View
,其 layout_width="1" layout_height="1"
,那么这是否意味着左上角是 (0,0),右下角是 (1,1)?这难道不意味着 View
的宽度为 2,高度为 2 吗?矛盾。 - riwnodennyk对于 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)。
'getWidth()' 方法已经自 API 13 起被弃用,不能再使用来获取屏幕尺寸。
此外,getwidth() 和 getHeight() 是 android.view.View 类中的方法。因此,当您的 Java 类扩展 View 类时,就没有 WindowManager 的开销了。
int maxX=getwidht();
int maxY=getHeight();
就是这么简单。