android

Android getLocationOnScreen用法详解

小樊
135
2024-07-27 15:18:10
栏目: 编程语言

getLocationOnScreen() 方法可以获取 View 在屏幕上的位置坐标。它返回一个包含两个元素的数组,分别表示 View 左上角在屏幕上的 x 坐标和 y 坐标。

使用该方法时,需要注意以下几点:

  1. getLocationOnScreen() 方法需要在 View 已经被测量和布局完成之后才能正确获取位置信息。因此通常建议在 View 的 onWindowFocusChanged() 方法中调用该方法。

  2. getLocationOnScreen() 方法返回的坐标是基于屏幕的绝对坐标,而不是相对于父容器的坐标。如果需要获取 View 相对于父容器的位置坐标,可以使用 getLocationInWindow() 方法。

  3. 获取的坐标是 View 左上角的坐标,如果需要获取其他点的坐标,可以通过计算 View 的宽度和高度来得到。

示例代码如下:

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if (hasFocus) {
        int[] location = new int[2];
        view.getLocationOnScreen(location);
        int x = location[0];
        int y = location[1];
        Log.d("Location", "x: " + x + ", y: " + y);
    }
}

以上示例代码在 View 的 onWindowFocusChanged() 方法中获取 View 在屏幕上的坐标位置,并打印输出。这样可以确保 View 已经完成布局并且可见时才获取位置信息。

0
看了该问题的人还看了