Android - 获取视图的可见区域?

时间:2012-01-31 02:32:51

标签: java android layout

假设我有一个Android View被另一个View部分屏蔽。例如,假设掩蔽视图在其中心具有透明的矩形“窗口”,并且我的视图在窗口下方居中并且具有大于窗口尺寸的尺寸。在这种情况下,视图的一些矩形部分将是可见的,其余部分被掩模遮挡。

所以我的问题是,是否有任何直接的方法来检索可见区域的位置和尺寸,而无法访问掩蔽视图本身(因此不知道掩模的“窗口”有多大)本身是)?

我尝试调用getLocalVisibleRect(),听起来很有希望,但这似乎只返回视图的布局矩形,不是实际可见的矩形。

3 个答案:

答案 0 :(得分:12)

游戏已经很晚了,但我怀疑getGlobalVisibleRect做了你想做的事。

答案 1 :(得分:3)

我已使用getWindowVisibleDisplayFrame方法确定视图是否部分可见,以确定软键盘是否已打开。你可以尝试一下。

Rect r = new Rect();
// r will be populated with the coordinates of     your view
// that area still visible.
rootView.getWindowVisibleDisplayFrame(r);

答案 2 :(得分:0)