getLocationOnScreen()和getLocationInWindow()是Android View类中的两个方法,用于获取视图在屏幕上或窗口中的位置。 getLocationOnScreen()方法返回一个包含视图在屏幕上x和y坐标的长度为2的整数数组。这个坐标是相对于整个屏幕的,以像素为单位。 getLocationInWindow()方法返回一个包含视图在窗口中x和y坐标的长度为2的整数数组。这个坐标是相对于窗口的,以像素为单位。 这两个方法在需要获取视图在屏幕或窗口中的准确位置时非常有用。它们可以用于获取视图在屏幕上的绝对位置,或者相对于窗口的位置。
getLocationOnScreen()和getLocationInWindow()是Android View类中的两个方法,用于获取视图在屏幕上或窗口中的位置。 getLocationOnScreen()方法返回一个包含视图在屏幕上x和y坐标的长度为2的整数数组。这个坐标是相对于整个屏幕的,以像素为单位。 getLocationInWindow()方法返回一个包含视图在窗口中x和y坐标的长度为2的整数数组。这个坐标是相对于窗口的,以像素为单位。 这两个方法在需要获取视图在屏幕或窗口中的准确位置时非常有用。它们可以用于获取视图在屏幕上的绝对位置,或者相对于窗口的位置。
在这两个方法的上下文中,屏幕(screen)和视图(view)有什么区别?
我有一个按钮,我想要获取其中心的x坐标。
我猜这样就足够了:
public int getButtonXPosition() { return (button.getLeft()+button.getRight())/2; }
但是,如果我使用getLocationOnScreen()
或getLocationInWindow()
会有什么区别呢?
(当然,还要加上按钮宽度的一半)