material-components / material-components/material-components-android
[MaterialContainerTransform] RecyclerView content is gone during transition when LinearLayoutManager.recycleChildrenOnDetach = true
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 17.4k
- Forks
- 3.2k
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Description: I'm using MaterialContainerTransform in a fragment transition.
I see that RecyclerView#onDetachedFromWindow() gets called immediately as soon as the transition starts unlike onDestroyView() that waits for the transition to end. For performance improvement, I'm setting LinearLayoutManager#recycleChildrenOnDetach to true. This flag makes LinearLayoutManager#onDetachedFromWindow() clear the views in the RecyclerView causing the screen to turn blank when the transition starts. (ref)
The real issue is that RecyclerView#onDetachedFromWindow() doesn't wait for the transition to complete. In a regular fragment transition without MaterialContainerTransform, this method gets called only after the transition is completed.
Source code: https://github.com/mkano9/material-container-transform-recycleChildrenOnDetach/tree/master
See FirstFragment
Android API version: 30
Material Library version: 1.3.0-rc01
Device: Pixel 3 XL
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, das verlinkte Reproduktionsprojekt auszuführen und app/src/main/java/com/example/materialcontainertransformplayground/FirstFragment.kt im Umfeld des gemeldeten Übergangs zu lesen. Verfolge den MaterialContainerTransform-Fragmentübergang zusammen mit RecyclerView#onDetachedFromWindow() und LinearLayoutManager#recycleChildrenOnDetach; abgeschlossen ist die Aufgabe, wenn der Inhalt von RecyclerView während des gesamten Übergangs bei aktiviertem Flag sichtbar bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- android, kotlin
- Bereich
- mobile
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 28/100