我需要创建一个垂直的Recyclerview,其中应该调整屏幕中心的项目视图,以便在滚动时具有缩放效果。
我尝试但没有奏效的事情:
添加滚动侦听器并按位置循环浏览项目视图,测量居中位置,然后更新居中LayoutParams
的{{1}}。
view
不会在滚动时计算项目的位置或更新视图。如果在RecyclerView
IllegalStateException
在滚动状态为onScrolled
或LayoutParams
时,在onScrollStateChanged
中更改居中项目视图的IDLE
。
最后一个选项是实现自己的自定义SETTLING
,它会扩展默认LayoutManager
。
LayoutManager
涉及处理需要处理的更复杂的计算。 我们将不胜感激。
答案 0 :(得分:53)
我找到了this answer on SO,它横向完成了同样的事情。答案提供了一个扩展getApplicationUsage()
的工作解决方案。我修改了一下以适应垂直列表并且它可以工作。如果实施中有任何错误,请在评论中告诉我。干杯!
自定义布局管理器:
LinearLayoutManager
垂直方向: