1

LinearLayoutManager は、リサイクラーでアイテムを再配置するための基本的な実装を提供します。recyclerView で次の構成を想定しています。

E0 | え1え2え3 | E4

どこで | recyclerView の有効な境界を表します。E1 を削除すると、すべての再描画とアニメーションの後、次の最終設定になります。

E0 | E2 E3 E4 |

私は別の行動を達成する必要があります。基本的に欲しい

| | え0え2え3 | E4

画面の左または右のどの部分 (この場合は E2 に対して) に基づく他の要素の移動で、削除を行いました。基本的に、移動するパーツを選択するためのピボットとして、元の中心要素を使用する必要があります。

この動作は簡単には達成できないようです。stackFromEnd を設定しても問題は解決しません。これは、反対側の削除にアナログの問題があるためです。また、adapter.onItemRemoved を効果的に呼び出す前に実行時に stackFromEnd の値を変更しても、問題は解決しません。

4

1 に答える 1

0

削除するときは、 を呼び出すだけscrollToPositionWithOffset(adapterPositionOf(E2), offsetOf(E2))です。

于 2016-01-27T00:47:28.050 に答える