我正在使用 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 是以像素为单位的屏幕最大高度和宽度,我们在上面给定的代码中检索到了它们。
对于 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 类中的方法。所以当你的 java 类扩展 View 类时,没有 windowManager 开销。
int maxX=getwidht();
int maxY=getHeight();
就如此容易。
这张照片是从那里收集的,希望能消除大家的困惑。