我正在使用带有Horizontal LinearLayoutManager的RecyclerView。
recyclerView.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false));
要使适配器项目在中心对齐,我已将LinearSnapHelper附加到recyclerview。
SnapHelper helper = new LinearSnapHelper();
helper.attachToRecyclerView(recyclerView);
现在,我有两个场景,我希望一个项目来到中心
对于这两种情况,我都在使用
recyclerView.smoothScrollToPosition(位置);
并且项目居中。然而,这会发生在有弹性动画的情况下,首先会发生一些额外的滚动并发布项目反弹。
如何禁用此弹性动画以获得平滑滚动?
我尝试过的事情 - 在API下面使用,代替smoothScrollToPosition
以上两种API都不能提供平滑的滚动,而且该项目没有正确居中(因为很难找到尚未创建的项目的正确偏移值/在API调用期间回收)
我无法在RecyclerView的文档中找到任何禁用/覆盖动画的方法。请有人帮忙..
答案 0 :(得分:1)
解决方案是使用扩展的LinearLayoutManager:
--system-site-packages