2016-06-14 3 views
2

У меня есть макет, который включает в себя NestedScrollView. Внутри этого вида есть ImageView, который прокручивает создание эффекта параллакса с остальными видами. ImageView прокручивается на половину скорости.Прокрутка Parallax с помощью NestedScrollView

Проблема в том, что мне нужен ImageView для прокрутки параллакса , только если он находится в пределах экрана. Если ImageView не находится внутри видимой части экрана, я не хочу, чтобы он реагировал на код параллакса.

Есть ли способ проверить, находится ли вид в видимой части экрана?

Я подумал, что, возможно, проверить положение прокрутки в представлении, но я не знаю, как сравнить его с нижней частью видимого экрана.

Есть ли у вас идеи?

спасибо.

ответ

0

have'nt пробовал еще, но использовать этот код,

Rect bounds = new Rect(); 
yourView.getHitRect(bounds); 
Rect scrollBounds = new Rect(yourScroll.getScrollX(),yourScroll.getScrollY(), 
      yourScroll.getScrollX() + yourScroll.getWidth(), yourScroll.getScrollY() + yourScroll.getHeight()); 
if(Rect.intersects(scrollBounds, bounds)) 
    { 
     //is in visible part of the scrollview 
    } 
+0

По какой-то причине, первый ImageView реагирует на параллакс, но второй не делает. Независимо от того, как я меняю свиток. Есть ли способ получить Rect с координатами видимого экрана, а не с scrollview? –

Смежные вопросы