获取 RecyclerView 或 Webview 的滚动 Y
get scroll Y of RecyclerView or Webview
我创建了一个 activity Webview
内容放在 Recyclerview
中。
我想在滚动 webview 时获得滚动 Y 位置。
我尝试了 Webview.getScrollY()
、Webview.getY()
、RecyclerView.getScrollY()
、RecyclerView.getY()
、...但效果不佳。我无法获得当前卷轴 Y。
有没有关于获取 Webview
或 RecyclerView
的滚动 Y 的建议?
为网络视图使用 RecyclerView.OnScrollListener for the RecyclerView and a 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;
}
正如@Pkmmte 提到的,computeVerticalScrollOffset()
在这种情况下更方便。
mTotalScrolled = recyclerView.computeVerticalScrollOffset();
我创建了一个 activity Webview
内容放在 Recyclerview
中。
我想在滚动 webview 时获得滚动 Y 位置。
我尝试了 Webview.getScrollY()
、Webview.getY()
、RecyclerView.getScrollY()
、RecyclerView.getY()
、...但效果不佳。我无法获得当前卷轴 Y。
有没有关于获取 Webview
或 RecyclerView
的滚动 Y 的建议?
为网络视图使用 RecyclerView.OnScrollListener for the RecyclerView and a 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;
}
computeVerticalScrollOffset()
在这种情况下更方便。
mTotalScrolled = recyclerView.computeVerticalScrollOffset();