如何确定与给定视图重叠的所有视图?

时间:2015-10-29 18:16:54

标签: android android-layout

我必须确定与给定视图重叠的所有视图(矩形)。 (想法是获得给定视图的可见区域)

public List<Rect> getOverlappingViewsForGivenView(View givenView)
{
  //return overlapping rectangles
}

我可以使用getGlobalVisibleRect来获取可见区域,但它只考虑父元素的重叠。我试过上面的getGlobalVisibleRect例如。由它的父ScrollView覆盖的视图。

1 个答案:

答案 0 :(得分:0)

首先,您可以在屏幕上显示getX()getY()视图的位置。如果它在滚动视图中你可能想检查它是否是&#34;在屏幕上&#34;等等。

使用给定的边界,您将获得根视图(例如,调用getParent()),并使用getChildCount()getChildAt(int)迭代子项。

这是一般的想法。根据您的布局层次结构,这可能非常简单或非常棘手。