我想在运行时计算垂直或水平偏移。对于我的情况,每一行的高度都不相等。
要执行此任务,我尝试了一些方法。但是结果出乎意料。
computeHorizontalScrollOffset :滚动条轨迹内的拇指长度。
setOnScrollChangeListener :onScrollChange每次为scrollX和scrollY返回零
setOnScrollListener :计算所有值
recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
overallScrollY += dy;
}
});
最新解决方案有效。但是它不能正确计算垂直偏移。计算值与期望值不同。