我正在使用一个Scrollview
对于无限的“时间选择器轮播”,发现这不是最好的方法(最后一个问题 https://stackoverflow.com/questions/26341587/horizontalscrollview-customadapter-with-getview-doesnt-reuse-convertviews-li)
现在,我发现了回收商视图 https://developer.android.com/reference/android/support/v7/widget/RecyclerView.html but 我无法获取 recyclerView X 方向的当前滚动偏移量? (假设每个项目的宽度为 100px,第二个项目的可见度仅为 50%,因此滚动偏移量为 150px)
- 所有项目都具有相同的宽度,但第一个项目之前和最后一个项目之后有一些间隙
-
recyclerView.getScrollX()
回报0
(文档说:初始滚动值)
- the
LayoutManager
has findFirstVisibleItemPosition
,但我无法用它计算 X 偏移
UPDATE
我刚刚找到了一种方法来继续跟踪 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)