我可以在缩放时将 RecyclerView 中的项目固定到中心吗

Posted

技术标签:

【中文标题】我可以在缩放时将 RecyclerView 中的项目固定到中心吗【英文标题】:Can I pin an item inside RecyclerView to the centre while scaling 【发布时间】:2014-09-24 18:59:38 【问题描述】:

我在 RecyclerView 中有一个项目列表,它在捏合时可缩放,目前它可以很好地缩放项目,第一个列表项保持不变(最左边的那个)。

我要做的是在缩放时将中心项目固定在中心。我希望RecyclerView 能让我轻松搞定。

【问题讨论】:

【参考方案1】:

如果 item 获得焦点,LinearLayoutManager 将在布局发生时保留其位置。 (L-preview 不这样做,但 L 版本会有它)。如果您想保持项目中心稳定,这对您来说可能还不够,因为 LLM 将使项目参考点保持稳定。 (例如,如果布局为垂直且 reverseLayout 为 false,则参考点是项目的顶部像素)。

作为一种解决方法,您可以在每次调整视图大小时使用适当的值调用 LLM#scrollToPositionWithOffset。

【讨论】:

scrollToPositionWithOffset() 现在完美运行 - 谢谢! 谢谢,这似乎工作正常,不知何故我正在寻找。 yigit 你能看看this somewhat related issue。我想如果你不能帮助那么没有人可以,感谢它

以上是关于我可以在缩放时将 RecyclerView 中的项目固定到中心吗的主要内容,如果未能解决你的问题,请参考以下文章

Android - RecyclerView 和缩放图像

在通知单击时将项目添加到片段内的 recyclerview

使用 DialogFragment 和导航库时将对话框显示为全屏或对话框

使用 GridLayoutManager 实现 RecyclerView 时将项目居中

如何在悬停时将过渡速度应用于缩放图像?

捏和缩放 RecyclerView 布局以动画和更改布局管理器跨度计数