У меня есть ScrollView
, который содержит ряд Views
. Я хотел бы иметь возможность определить, отображается ли вид в настоящее время (если какая-либо его часть отображается в настоящее время ScrollView
). Я бы ожидал, что приведенный ниже код сделает это, на удивление это не так:
Rect bounds = new Rect();
view.getDrawingRect(bounds);
Rect scrollBounds = new Rect(scroll.getScrollX(), scroll.getScrollY(),
scroll.getScrollX() + scroll.getWidth(), scroll.getScrollY() + scroll.getHeight());
if(Rect.intersects(scrollBounds, bounds))
{
//is visible
}