拥有一个RecyclerView,其中包含(高度)不同高度的物品,如何向下(或向上)滚动1个屏幕?因此,向下滚动1个屏幕后,显示的数据恰好位于当前屏幕上的数据下方。
举一个极端的例子:当我有一个非常大的第一数据项并且y滚动位置为0时,向下滚动1屏幕将意味着在该情况下显示第一项数据的下一部分/剩余部分。
有很多方法可能会有所帮助。
ScrollOffset,Extent和Range的方法是:
int offset = recyclerView.computeVerticalScrollOffset();
int extent = recyclerView.computeVerticalScrollExtent();
int range = recyclerView.computeVerticalScrollRange();
float percentage = (100.0f * offset / (float)(range - extent));
那么,有没有一种方法可以向下滚动1个屏幕,而与数据(行)项的大小无关?
按视图的高度滚动就可以了,不是吗?在滚动视图内的recyclerview上进行了快速测试。
即 view.post(() -> view.scrollBy(0, view.getHeight()));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句