我对无限的“Time Picker Carousel”使用了Scrollview
,发现这不是最好的方法(last question)
现在,我找到了Recycler View,但是我无法获得recyclerView 的X方向上的当前滚动偏移量? (假设每个项目的宽度为100px,第二个项目的可见度仅为50%,因此滚动偏移为150px)
recyclerView.getScrollX()
返回0
(文档说:初始滚动值)LayoutManager
具有findFirstVisibleItemPosition
,但是我无法使用该更新
我只是找到了一种方法来跟踪X位置,同时使用
onScrolled
回调更新值,但是我宁愿获取实际值,而不是一直跟踪它!private int overallXScroll = 0;
//...
mRecyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
overallXScroll = overallXScroll + dx;
Log.i("check","overallXScroll->" + overallXScroll);
}
});
最佳答案
RecyclerView已经具有获取水平和垂直滚动偏移量的方法
mRecyclerView.computeHorizontalScrollOffset()
mRecyclerView.computeVerticalScrollOffset()
这对于包含相同高度(用于垂直滚动偏移)和相同宽度(用于水平滚动偏移)的单元格的RecyclerViews将起作用
关于android - Android:如何获取RecyclerView的当前X偏移量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27507715/