我必须确定与给定视图重叠的所有视图(矩形)。 (想法是获得给定视图的可见区域)
public List<Rect> getOverlappingViewsForGivenView(View givenView)
{
//return overlapping rectangles
}
我可以使用getGlobalVisibleRect
来获取可见区域,但它只考虑父元素的重叠。我试过上面的getGlobalVisibleRect例如。由它的父ScrollView覆盖的视图。
答案 0 :(得分:0)
首先,您可以在屏幕上显示getX()
和getY()
视图的位置。如果它在滚动视图中你可能想检查它是否是&#34;在屏幕上&#34;等等。
使用给定的边界,您将获得根视图(例如,调用getParent()
),并使用getChildCount()
和getChildAt(int)
迭代子项。
这是一般的想法。根据您的布局层次结构,这可能非常简单或非常棘手。