【问题标题】:Parallax scrolling with NestedScrollView使用 NestedScrollView 进行视差滚动
【发布时间】:2016-06-14 01:01:24
【问题描述】:

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

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

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

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

你有什么想法吗?

谢谢。

【问题讨论】:

    标签: android view parallax nestedscrollview


    【解决方案1】:

    还没有尝试过,但使用此代码,

    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
        }
    

    【讨论】:

    • 出于某种原因,第一个 imageview 对视差有反应,但第二个没有。不管我如何改变卷轴。有没有办法用可见屏幕的坐标而不是滚动视图的坐标来获取 Rect?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-01
    • 2019-09-17
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    • 2019-10-27
    • 1970-01-01
    相关资源
    最近更新 更多