2 つの間のビューをアニメーション化していますRecyclerView
。最初のものは、最初のアイテムをカバーとして表示するフォルダーのリストのようなもので、クリックすると、カバーを最初のアイテムにアニメーション化するフォルダーの内容を示す新しいビューが開きます。戻るをクリックすると、表示されているすべてのビューが元のフォルダーにアニメーションで戻ります (表紙が一番上のビューです)。開いたフォルダに最初のアイテムが表示されている限り、これは見栄えがします。下にスクロールすると、最初のアイテムが画面外になり、カバー ビューがアニメーション化されていないため、背面のアニメーションがうまく表示されなくなります (現在、表示されているすべてのビューのみをアニメーション化しています)。
私がうまくいくと思うのは次のとおりです。LayoutManager
最初のアイテムを画面外のすぐ外の位置に配置し、それをプール内の特別なビューとして保持して、常に最初のビューにアクセスできるようにし、フォルダービューに戻るときにアニメーション化できるようにします現在表示されている他のすべてのアイテムに加えて、カバー (カバーは画面の上部からアニメーション化されます)。
これは、次のことが必要であることを意味します。
- 最初のアイテムはリサイクルされない特別なものとして処理する
LayoutManager
必要があります (バック アニメーションでいつでも必要になる可能性があります)。 - 最初のアイテムは常にレイアウトする必要があります (リスト内のデフォルトの位置に配置する必要があります (表示されている場合、または画面の真上にある場合はオフスクリーンのいずれか))。
誰かがここから始めるのを手伝ってくれますか? これは を拡張することで可能だと思いますがLayoutManager
、どこから始めればよいかわかりません...