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