Android getLocationOnScreen用法详解

   2024-10-02 3490
核心提示:getLocationOnScreen() 方法可以获取 View 在屏幕上的位置坐标。它返回一个包含两个元素的数组,分别表示 View 左上角在屏幕上的

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

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

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

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

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

示例代码如下:

@Overridepublic 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 已经完成布局并且可见时才获取位置信息。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号