溫馨提示×

Android getLocationOnScreen用法詳解

小樊
124
2024-07-27 15:18:10
欄目: 編程語言

getLocationOnScreen() 方法可以獲取 View 在屏幕上的位置坐標。它返回一個包含兩個元素的數(shù)組,分別表示 View 左上角在屏幕上的 x 坐標和 y 坐標。

使用該方法時,需要注意以下幾點:

  1. getLocationOnScreen() 方法需要在 View 已經(jīng)被測量和布局完成之后才能正確獲取位置信息。因此通常建議在 View 的 onWindowFocusChanged() 方法中調(diào)用該方法。

  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 已經(jīng)完成布局并且可見時才獲取位置信息。

0