我想用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