Android获取view的绝对坐标

时间:2022-06-01 16:50:55

Android提供了两种方法来获取视图的绝对坐标:

  • void getLocationOnScreen (int[] outLocation):获取视图在屏幕的坐标
  • void getLocationInWindow (int[] outLocation):获取视图在Activity窗口的坐标

这两个方法都是接收一个数组作为参数,获取的x,y值会存放在传入的outLocation参数。

可以对这两个方法封装下,返回一个Point:

public static Point getLocationOnScreen(View view){
    int[] location = new int[2];
    view.getLocationOnScreen(location);
    return new Point(location[0], location[1]);
}