In questo momento sto giocando con RecyclerView
e sono incappato nel seguente problema. Quando il documento LinearLayoutManager
di RecyclerView prende una decisione sul fatto che la visualizzazione sia stata disattivata (quindi può essere riciclata) non tiene conto della vista translationY
.RecyclerView non rispetta la traduzione quando si riciclano le viste
Quindi, in sostanza, quando si scorre verso l'alto e ho una vista positiva con translationY
, LinearLayoutManager
si pensa che la vista sia fuori dallo schermo, ma in realtà è ancora visibile (perché è stata tradotta).
Ho notato che il modo in cui si prende questa decisione è LinearLayoutManager
, è guardando getDecoratedBottom(View)
, quindi ho provato a sovrascrivere getDecoratedBottom(View)
per includere anche la traduzione. Sfortunatamente, il layout è completamente disordinato, quindi i nuovi elementi ottengono una traduzione aggiuntiva (in aggiunta a quella esistente).
C'è un modo semplice per dire LinearLayoutManager
per cercare translation
attributo quando prende una decisione sul riciclo della vista senza implementare nuovamente LayoutManager
da zero?
Avete trovato una soluzione per il problema? –
@ZakharovRoman yeah ... Implementazione di LinearLayoutManager con forked e modificato la sua logica un po 'per includere anche la traduzione. Ma nulla di "fuori dagli schemi" potrebbe effettivamente risolvere il problema. –
ok, ci proverò. grazie –