首先,了解Android窗口机制,在Android 2.2和2.3中,getWindowVisibleDisplayFrame()
返回的值是不同的。在Android 2.2中,该方法返回的是Rect
对象,而到了Android 2.3,返回的则是int[]
数组。因此,在Android 2.2和2.3中,getWindowVisibleDisplayFrame()
给出的值是不同的。
对于Android 2.2,可以使用以下代码来获取窗口可见的坐标范围:
Rect rect = new Rect();
// 获取窗口的可见区域
getWindowVisibleDisplayFrame(rect);
对于Android 2.3,由于返回的是int[]
数组,因此需要使用以下代码来获取窗口可见的坐标范围:
int[] rect = new int[2];
// 获取窗口的可见区域
getWindowVisibleDisplayFrame(rect);
需要注意的是,在Android 2.3中,getWindowVisibleDisplayFrame()
给出的值是窗口的可见坐标范围,而不是窗口的大小。因此,在获取窗口大小的时候,需要使用getWindowSize()
方法来获取。
总之,在Android 2.2和2.3中,getWindowVisibleDisplayFrame()
给出的值是不同的,需要根据具体版本来获取窗口可见的坐标范围。
领取专属 10元无门槛券
手把手带您无忧上云