获取RecyclerView或Webview的滚动Y.

Pha*_*inh 9 android android-webview android-recyclerview

我已经创建了一个活动Webview内容Recyclerview.我想在滚动webview时获得滚动Y位置.我试过Webview.getScrollY(),Webview.getY(),RecyclerView.getScrollY(),RecyclerView.getY(),...但它不工作的罚款.我无法获得当前滚动Y.是否有任何建议获得滚动Y WebviewRecyclerView

Joe*_*ubb 12

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

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

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;
}
Run Code Online (Sandbox Code Playgroud)

  • `recyclerView.computeVerticalScrollOffset()`比这更好. (33认同)
  • 并不真地。“computeVerticalScrollOffset()”与滚动的像素数不同。RV 使用它来显示滚动条,它的值非常不精确。 (3认同)

Sta*_*Kou 11

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

mTotalScrolled  = recyclerView.computeVerticalScrollOffset();
Run Code Online (Sandbox Code Playgroud)

  • 它不返回回收站的scrollY,而是返回_滚动条的thumb_的垂直偏移量 (3认同)