1

如何检测用户何时已经到达终点NestedScrollView并且在他当前的滚动尝试动作中正在拉动?

我已经尝试了一些检测结束滚动的模式,但这远非我想要实现的目标。

我也想到的是,我可以覆盖公共类 CoordinatorLayout.Behavior并使用滚动方法,但是我对当前很满意,但我@string/appbar_scrolling_view_behavior不太确定如何继续。

视图结构

<android.support.design.widget.CoordinatorLayout>


    <android.support.v4.widget.NestedScrollView
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />


    <android.support.design.widget.AppBarLayout>

        <android.support.design.widget.CollapsingToolbarLayout"
            app:layout_scrollFlags="scroll|exitUntilCollapsed|enterAlways" />

    </android.support.design.widget.AppBarLayout>

</android.support.design.widget.CoordinatorLayout>

有人熟悉这个问题吗?

4

1 回答 1

0

您可以像这样检测NestedScrollView的结尾

svProduct.getViewTreeObserver()
        .addOnScrollChangedListener(() -> {
          View view = svProduct.getChildAt(svProduct.getChildCount() - 1);
          int diff = (view.getBottom() - (svProduct.getHeight() + svProduct.getScrollY()));
          if (diff == 0) {
            // reached to bottom 
          }
        });
于 2018-02-10T13:26:11.607 回答