使用NestedScrollView进行视差滚动

时间:2016-06-14 01:01:24

标签: android view parallax nestedscrollview

我有一个包含NestedScrollView的布局。在这个视图中有一个ImageView,它滚动创建与其余视图的视差效果。 ImageView以一半的速度滚动。

问题是我需要ImageView才能进行视差滚动,只有当它在屏幕范围内时。如果ImageView不在屏幕的可见部分内,我不希望它对视差代码作出反应。

有没有办法检查视图是否在屏幕的可见部分内?

我想可能会查看视图的滚动位置,但我不知道如何将其与可见屏幕的底部进行比较。

你有什么想法吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

尚未尝试过,但使用此代码,

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
    }