获取RecyclerView或Webview的滚动Y.

问题描述 投票:9回答:2

我创建了一个活动Webview内容放在Recyclerview。我想在滚动webview时获得滚动Y位置。我尝试了Webview.getScrollY()Webview.getY()RecyclerView.getScrollY()RecyclerView.getY(),......但它不能正常工作。我无法得到当前的滚动Y.有没有建​​议得到WebviewRecyclerView的滚动Y?

android android-webview android-recyclerview
2个回答
11
投票

使用RecyclerView.OnScrollListener作为RecyclerView,使用View.OnScrollChangeListener作为webview。

你必须自己跟踪总卷轴,如下所示:

private int mTotalScrolled = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    ...

    recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);

                mTotalScrolled += dy;

            }
        });

    ...

}

private int getScrollForRecycler(){
    return mTotalScrolled;
}

7
投票

在@Pkmmte提到的情况下,computeVerticalScrollOffset()is在这种情况下更方便。

mTotalScrolled  = recyclerView.computeVerticalScrollOffset();
© www.soinside.com 2019 - 2024. All rights reserved.