0

2つのビューの間でアニメーション化していますRecyclerView。最初のものは、最初のアイテムをカバーとして表示するフォルダのリストのようなものです。クリックすると、カバーの内容を示す新しいビューが開き、最初のアイテムにカバーがアニメーション表示されます。クリックすると、表示されているすべてのビューが元のフォルダに戻ってアニメーション表示されます(カバーが一番上に表示されます)。開いているフォルダに最初の項目が表示されている限り、これは素晴らしいです。下にスクロールすると、最初のアイテムはオフスクリーンになり、カバーアニメーションがアニメーション化されていないため、バックアニメーションはそれ以上見栄えが悪くなります(現在表示されているすべてのビューのみをアニメーション化しています)。RecyclerView LayoutManager - 表示されていなくても表示を維持するように強制する

LayoutManagerは、最初の項目をすぐにオフスクリーンの位置に配置し、プール内の特別なビューとして保持できるため、常に最初のビューにアクセスできるようになります。フォルダーの表示現在表示されている他のすべてのアイテムに加えて、カバーをアニメートできます(カバーは画面の上部からアニメーション表示されます)。

これは、私は、次の必要があることを意味:

  • LayoutManagerがリサイクルされていない特殊なものとして、最初の項目を処理しなければなりません(私はそれに戻ってアニメーションのための任意の時間を必要とするかもしれない)
  • 最初にバックアニメーションのためにいつでも必要になる可能性があるので、アイテムは常にレイアウト(表示されている場合はリストのデフォルト位置にあるか、スクリーンの真上にあるオフスクリーンのいずれか)に配置する必要があります。

誰かここでどこから始めるのを助けることができますか?私はこれがLayoutManagerを拡張することで可能だと思いますが、私はどこから始めるべきかわかりません...

答えて

0

あなたは次のことを試しましたか?

recView.getRecycledViewPool().setMaxRecycledViews(TYPE_XXXX, 0); 
関連する問題