我想用RecyclerView
来模拟MultiViewPager
的行为,特别是我希望在屏幕中心的选定项目包括第一个和最后一个元素 。RecyclerView的水平居中第一项
正如你可以在这张图片中看到的,第一个项目居中,这将是我的预期结果。
我所做的就是建立一个RecyclerView
与水平LinearLayoutManager
和LinearSnapHelper
。这个解决方案的问题是,第一个和最后一个项目将永远不会水平居中作为选择。我是否应该切换我的代码,以便它使用MultiViewPager
或者是否可以利用RecyclerView
获得类似的结果?
在我看来这是正确的方式,@CzarMatt的其他答案的建议可能会起作用,但对我来说似乎有点哈克。 – Vektor88
@ Vektor88,'装饰'的使用并不像它看起来那么好。我是这么做的,但是它打破了很多'RecyclerView'规则,因为'装饰'是为了作为项目的扩展。这意味着居中的左/右偏移将被视为真实视图'padding/margin',因此它的'LayoutManager.getDecoratedMeasuredWidth()'将会非常大。它会中断,例如'LinearSnapHelper'。第一个/最后一个元素将被收缩到next/prev上,即使是轻微的触摸,因为他们认为你的视图是胡德。 – Nexen
@ Vektor88,这是更可取的方式去 - https:// stackoverflow。com/q/29117916/2653714 – Nexen