如何检查视图是否对用户可见

che*_*hie 12 android view

我的研究让我走到了尽头.

有一项活动,显然有意见.

有多种方法可以检查视图在屏幕上的视图上是否对用户可见,或者是否超出屏幕范围.

但这是另一种情况:有一个相对布局,一个视图故意与另一个视图重叠,或者活动中有一个弹出窗口.

方法,用于检查视图是否可见(包括getLocationOnScreen,getLocalVisibleRect,getHitRect,getDrawingRect),返回值,就好像视图在屏幕上可见,尽管事实上,它与另一个重叠,所以我不能检查视图是否对用户可见.

反正有检查吗?

Rus*_*oso -5

你可以试试这个

  if (myView.getVisibility() == View.VISIBLE) {
  // Its visible
  } else {
  // Either gone or invisible
  }
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你。

  • 不,不能接受答案,因为在问题中明确提到@cheshie 想知道视图是否确实位于用户面前。在某些情况下,视图隐藏在其他视图后面,在这种情况下 myView.getVisibility() == View.VISIBLE 仍然返回 true。 (19认同)