Visualizzazione riciclo
Questa tabella elenca tutti gli elementi del gruppo androidx.recyclerview
.
Elemento | Release stabile | Candidato per l'uscita | Versione beta | Release alpha |
---|---|---|---|---|
recyclerview | 1.3.2 | - | 1.4.0-beta01 | - |
selezione-riciclatore | 1.1.0 | - | - | 1.2.0-alpha01 |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza su RecyclerView, devi aggiungere il Repository Maven di Google al tuo progetto. Consulta il Repository Maven di Google per ulteriori informazioni.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle
per
l'app o il modulo:
Groovy
dependencies { implementation "androidx.recyclerview:recyclerview:1.3.2" // For control over item selection of both touch and mouse driven selection implementation "androidx.recyclerview:recyclerview-selection:1.1.0" }
Kotlin
dependencies { implementation("androidx.recyclerview:recyclerview:1.3.2") // For control over item selection of both touch and mouse driven selection implementation("androidx.recyclerview:recyclerview-selection:1.1.0") }
Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Non esitare a contattarci in caso di nuovi problemi o idee per migliorare questa raccolta. Dai un'occhiata alle problemi esistenti in questa raccolta, prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente tramite facendo clic sul pulsante a forma di stella.
Consulta la documentazione di Issue Tracker per ulteriori informazioni.
Versione 1.4
Versione 1.4.0-beta01
21 agosto 2024
Viene rilasciato il nuovo androidx.recyclerview:recyclerview:1.4.0-beta01
, senza modifiche dalla versione 1.4.0-alpha02. La versione 1.4.0-beta01 contiene questi commit.
Nota sulla compatibilità: questa versione eseguirà la compilazione solo sulla base dell'SDK API 35 (Vanilla Ice Cream) o versioni successive. Se visualizzi avvisi relativi al plug-in AGP (Android Gradle) quando esegui l'upgrade, puoi eliminarli.
Versione 1.4.0-alpha02
7 agosto 2024
Viene rilasciato androidx.recyclerview:recyclerview:1.4.0-alpha02
. La versione 1.4.0-alpha02 contiene questi commit.
Nota sulla compatibilità: questa versione eseguirà la compilazione solo sulla base dell'SDK API 35 (Vanilla Ice Cream) o versioni successive. Se visualizzi avvisi relativi al plug-in AGP (Android Gradle) quando esegui l'upgrade, puoi eliminarli.
Nuove funzionalità
- Supporto della frequenza di aggiornamento variabile: RecyclerView ora chiama
setFrameContentVelocity
durante lo scorrimento tramite Overscroller (ad esempio per l'adattamento da una flessione o una scorrimento fluido). (I8f8a4)
Modifiche alle API
- API
ViewCompat.LAYOUT_DIRECTION_
ritirate (I51710, b/317055535) - Aggiungi l'API
RecyclerView$LayoutManager#isLayoutReversed
. (I4970e)
Altre modifiche
- È stata rimossa la definizione manuale dell’accesso alle nuove API della piattaforma poiché ciò avviene automaticamente tramite la modellazione API quando si utilizza R8 con AGP 7.3 o versioni successive (ad es. R8 versione 3.3) e per tutte le build quando si utilizza AGP 8.1 o versioni successive (ad es. D8 versione 8.1). Si consiglia ai clienti che non utilizzano AGP di eseguire l'aggiornamento alla versione D8 8.1 o successiva. Consulta questo articolo per ulteriori dettagli. (Ia60e0, b/345472586)
- Aggiungi il tipo di visualizzazione elemento a
RecyclerView
sezioni di traccia di associazione/creazione e etichetta i precaricamenti RV come "forzato: è necessario il frame successivo" se è previsto che vengano utilizzati entro il frame successivo, in modo da farli funzionare il prima possibile. (I8ec3e, b/309523615) - Aggiorna
compileSdk
alla versione 35 (consulta la "Nota sulla compatibilità" qui sopra per maggiori dettagli). 5dc41be
Contributo esterno
GestureDetectorCompat
è deprecato perchéGestureDetector
è disponibile daminSdk
. (Icc4cd)
Versione 1.4.0-alpha01
18 ottobre 2023
Viene rilasciato androidx.recyclerview:recyclerview:1.4.0-alpha01
. La versione 1.4.0-alpha01 contiene questi commit.
Modifiche alle API
- Aggiungi l'API
RecyclerView$LayoutManager#isLayoutReversed
. (I4970e)
Correzioni di bug
- Correzione di un bug che causava arresti anomali sporadici durante le animazioni (I42f22b) (incluso nella versione 1.3.2)
Versione 1.3.2
Versione 1.3.2
18 ottobre 2023
Viene rilasciato androidx.recyclerview:recyclerview:1.3.2
. La versione 1.3.2 contiene questi commit.
Correzioni di bug
- È stato corretto un bug che causava arresti anomali sporadici durante le animazioni. (I42f22b)
Versione 1.3.1
Versione 1.3.1
26 luglio 2023
Viene rilasciato il nuovo androidx.recyclerview:recyclerview:1.3.1
, senza modifiche dalla versione 1.3.1-rc01. La versione 1.3.1 contiene questi commit.
Per le note di rilascio della versione precedente, consulta la pagina Note di rilascio
Versione 1.3.1-rc01
24 maggio 2023
Viene rilasciato androidx.recyclerview:recyclerview:1.3.1-rc01
. La versione 1.3.1-rc01 contiene questi commit.
Per evitare arresti anomali, gli utenti di ViewPager2 devono eseguire l'aggiornamento almeno alla versione 1.1.0-beta02 quando eseguono l'aggiornamento a questa versione di RecyclerView
.
Modifiche alle API
- Aggiungi nuovi metodi
setDebugAssertionsEnabled
esetVerboseLoggingEnabled
che possono aiutarti a eseguire il debug dei problemi relativi aRecyclerView
nelle app. (I514b9)
Correzioni di bug
- Risolvi gli arresti anomali per gli utenti di
ViewTreeLifecycleOwner
(inclusoComposeView
) allegando temporaneamente le viste temporaneamente scollegate durante la chiamata dionBind
. (I7244f2c, b/265347515, b/283288295)
Versione 1.3.0
Versione 1.3.0
8 marzo 2023
Viene rilasciato il nuovo androidx.recyclerview:recyclerview:1.3.0
, senza modifiche dalla versione 1.3.0-rc01. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- Questa release contiene miglioramenti delle prestazioni (inclusi in precedenza in 1.3.0-alpha02 e 1.3.0-beta01) quando utilizzata con Jetpack Compose. Se utilizzi Compose
1.2.0-beta02
o versioni successive e utilizzaviMyComposeAdapter
eDisposeOnViewTreeLifecycleDestroyed
ViewCompositionStrategy
descritti nelle precedenti linee guida sull'interoperabilità, devi rimuoverle perché non rappresentano più un miglioramento rispetto allo stato predefinito. - È stato aggiunto un nuovo metodo
ConcatAdapter.getWrappedAdapterAndPosition
per consentire il recupero delle informazioni relative all'adattatore con wrapping in situazioni in cui non disponi di unViewHolder
, ad esempioSpanSizeLookup
(I2bd4c, b/191543920)
Versione 1.3.0-rc01
21 settembre 2022
Viene rilasciato androidx.recyclerview:recyclerview:1.3.0-rc01
. La versione 1.3.0-rc01 contiene questi commit.
- Nessuna modifica dall'ultima release
Versione 1.3.0-beta02
10 agosto 2022
Viene rilasciato androidx.recyclerview:recyclerview:1.3.0-beta02
. La versione 1.3.0-beta02 contiene questi commit.
Modifiche alle API
- Sono state rimosse le annotazioni con valore nullo aggiunte nella versione 1.3.0-beta01 a causa del fatto che rappresentavano una modifica significativa non compatibile con il codice per gli utenti Kotlin (I7a258,I1557e6,I8db76).
Versione 1.3.0-beta01
29 giugno 2022
Viene rilasciato androidx.recyclerview:recyclerview:1.3.0-beta01
. La versione 1.3.0-beta01 contiene questi commit.
Nuove funzionalità
- Questa versione beta contiene miglioramenti delle prestazioni (precedentemente inclusi nella versione 1.3.0-alpha02 quando utilizzata con Jetpack Compose). Se utilizzi Compose
1.2.0-beta02
o versioni successive e utilizzaviMyComposeAdapter
eDisposeOnViewTreeLifecycleDestroyed
ViewCompositionStrategy
descritti nelle precedenti linee guida sull'interoperabilità, devi rimuoverle perché non rappresentano più un miglioramento rispetto allo stato predefinito.
Modifiche alle API
- Sono state aggiunte annotazioni con valore null per una serie di metodi e parametri al fine di migliorare gli avvisi lint per gli utenti Java e l'interoperabilità per gli utenti Kotlin. Potrebbe trattarsi di una modifica che provoca un'interruzione dell'origine per alcuni utenti Kotlin e causare ulteriori avvisi/errori di lint per alcuni utenti Java. (I61829, b/236487044; Ia0b6f; I6f119, b/236487209; Ibe1de, b/236487210)
Correzioni di bug
- Assicurati che le griglie siano trattate come griglie dai servizi a11y impostando un nome di classe di informazioni sul nodo a11y. (I12812)
Versione 1.3.0-alpha02
6 aprile 2022
Viene rilasciato androidx.recyclerview:recyclerview:1.3.0-alpha02
. La versione 1.3.0-alpha02 contiene questi commit.
Modifiche alle API
- Aggiunge metodi
BuildCompat
sperimentali per gli SDK futuri (Iafd82, b/207528937) - È stato aggiunto un nuovo metodo
ConcatAdapter.getWrappedAdapterAndPosition
per consentire il recupero delle informazioni sugli adattatori con wrapping in situazioni in cui non è presente un ViewHolder, ad esempioSpanSizeLookup
(I2bd4c, b/191543920)
Correzioni di bug
- Integrazione con la nuova libreria PoolingContainer di AndroidX (Ib89d2)
- Consente di regolare la distanza di scorrimento per l'azione di accessibilità (If74ae)
Versione 1.3.0-alpha01
15 settembre 2021
Viene rilasciato androidx.recyclerview:recyclerview:1.3.0-alpha01
. La versione 1.3.0-alpha01 contiene questi commit.
Nuove funzionalità
- Aggiunto il supporto per la RecyclerView overscroll per allungare. (Iab877)
RecyclerView-Selection Versione 1.2.0
Versione 1.2.0-alpha01
5 maggio 2021
Viene rilasciato androidx.recyclerview:recyclerview-selection:1.2.0-alpha01
. La versione 1.2.0-alpha01 contiene questi commit.
Correzioni di bug
- È stato risolto un problema per cui la mappatura della chiave/posizione nel KeyProvider andava persa mentre l'immissione non era ancora stata riciclata. (b/145767095)
Versione 1.2.1
Versione 1.2.1
2 giugno 2021
Viene rilasciato androidx.recyclerview:recyclerview:1.2.1
. La versione 1.2.1 contiene questi commit.
Correzioni di bug
- Gli
ViewHolder
all'interno di unConcatAdapter
ora restituiscono la posizione corretta dell'adattatore quando viene eseguita una query nel callbackonViewRecycled
. (b/187339376)
Versione 1.2.0
Versione 1.2.0
7 aprile 2021
Viene rilasciato androidx.recyclerview:recyclerview:1.2.0
. La versione 1.2.0 contiene questi commit.
Modifiche principali dalla versione 1.1.0
ConcatAdapter: questo nuovo adattatore ti consente di concatenare facilmente più adattatori sullo stesso RecyclerView. Per ulteriori informazioni, leggi il post del blog.
- Nell'ambito di questa modifica,
ViewHolder.getAdapterPosition
è deprecato e sostituito con due nuovi metodi:- getBindingAdapterPosition restituisce la posizione relativa all'adattatore che ha associato l'elemento.
- getAbsoluteAdapterPosition restituisce la posizione relativa all'intera RecyclerView.
Ripristino dello stato lento: RecyclerView Adapter ora può ritardare il ripristino dello stato fino al caricamento dei relativi contenuti. Per ulteriori dettagli, consulta la documentazione.
Versione 1.2.0-rc01
24 marzo 2021
Viene rilasciato androidx.recyclerview:recyclerview:1.2.0-rc01
. La versione 1.2.0-rc01 contiene questi commit.
Correzioni di bug
- Ora
ConcatAdapter.Config.Builder
contiene valori predefiniti corrispondenti aConfig.DEFAULT
(b/157169835)
Versione 1.2.0-beta02
24 febbraio 2021
Viene rilasciato androidx.recyclerview:recyclerview:1.2.0-beta02
. La versione 1.2.0-beta02 contiene questi commit.
Correzioni di bug
- È stato risolto il problema per cui la spaziatura interna superiore causava lo spostamento del bagliore dell'overscroll a destra verso l'alto nell'area riempita, invece che verso il basso, per rispettare la spaziatura interna. (I6b61d, b/118399122)
Versione 1.2.0-beta01
2 dicembre 2020
androidx.recyclerview:recyclerview:1.2.0-beta01
viene rilasciato senza alcuna modifica dal giorno 1.2.0-alpha06
. La versione 1.2.0-beta01 contiene questi commit.
Versione 1.2.0-alpha06
1° ottobre 2020
Viene rilasciato androidx.recyclerview:recyclerview:1.2.0-alpha06
. La versione 1.2.0-alpha06 contiene questi commit.
Nuove funzionalità
- Aggiunto il supporto per l'aggiunta di più RecyclerListener. (I70ad8, b/145767095)
Modifiche alle API
- RecyclerView.setRecyclerListener(RecyclerListener obsoleto). (I70ad8, b/145767095)
Versione 1.2.0-alpha05
22 luglio 2020
Viene rilasciato androidx.recyclerview:recyclerview:1.2.0-alpha05
. La versione 1.2.0-alpha05 contiene questi commit.
Correzioni di bug
- È stato risolto il problema per cui se in RecyclerView era presente un solo elemento con lo stato attivo, lo stato attivo non si spostava in avanti o indietro. (6f36b3)
- Risolto il problema di
ArrayIndexOutOfBoundsException
inStaggeredGridLayoutManager
(49b601, b/122303625, b/74877618, b/160193663, b/37086625) - È stato corretto un bug di misurazione per cui, in circostanze specifiche, RecyclerView finiva per non mostrare in modo inappropriato i suoi figli. (89040c, b/138734786)
Contributi esterni
- Grazie a Kolin Krewinkel a nome di Facebook per il contributo.
Versione 1.2.0-alpha04
24 giugno 2020
Viene rilasciato androidx.recyclerview:recyclerview:1.2.0-alpha04
. La versione 1.2.0-alpha04 contiene questi commit.
Modifiche alle API
MergeAdapter
è stato rinominato inConcatAdapter
per evitare confusione con diversi comportamenti di unione dei dati (c0540c, b/158019211).
Correzioni di bug
- Miglioramenti allo scorrimento automatico quando vengono rimossi tutti gli elementi visibili (fe8670, b/154124815)
Versione 1.2.0-alpha03
29 aprile 2020
Viene rilasciato androidx.recyclerview:recyclerview:1.2.0-alpha03
. La versione 1.2.0-alpha03 contiene questi commit.
Nuove funzionalità
- RecyclerView ora dispone di un metodo
nestedScrollBy
che consente lo scorrimento programmatico che coopera con lo scorrimento nidificato: (Ibaa58)
Versione 1.2.0-alpha02
1° aprile 2020
Viene rilasciato androidx.recyclerview:recyclerview:1.2.0-alpha02
. La versione 1.2.0-alpha02 contiene questi commit.
Questa versione e le versioni successive di RecyclerView non sono compatibili con le versioni precedenti di ViewPager2. Se al momento utilizzi androidx.viewpager2:viewpager2:1.0.0
o una versione precedente, assicurati di eseguire l'aggiornamento a androidx.viewpager2:viewpager2:1.1.0-alpha01
.
Nuove funzionalità
MergeAdapter
- MergeAdapter: un nuovo adattatore RecyclerView in grado di combinare più adattatori in modo lineare.
MyAdapter adapter1 = ...; AnotherAdapter adapter2 = ...; MergeAdapter merged = new MergeAdapter(adapter1, adapter2); recyclerView.setAdapter(mergedAdapter);
Per l'esempio precedente, MergeAdapter mostrerà gli elementi di
adapter1
seguiti daadapter2
.RecyclerView.Adapter
ripristino dello stato lento:È stata aggiunta una nuova API alla classe
RecyclerView.Adapter
che consente a Adapter di controllare quando ripristinare lo stato del layout.Ad esempio, puoi chiamare:
myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
fare in modo che RecyclerView attenda che l'adattatore non sia vuoto prima di ripristinare la posizione di scorrimento.
CollectionInfo e CollectionItemInfo non saranno più compilati per impostazione predefinita.
Se vuoi che i servizi di accessibilità (ad esempio TalkBack) continuino a indicare il conteggio e l'indice degli elementi all'utente, dovrai compilare personalmente CollectionInfo e CollectionItemInfo.
Questi oggetti non vengono più compilati nel framework perché quest'ultimo non può determinare il numero di elementi percepiti dall'utente (ad esempio separatori, intestazioni o elementi RecyclerView che rappresentano più elementi percepiti).
Correzioni di bug
- RecyclerView ora evita l'ancoraggio alle viste all'esterno dell'area visibile quando le dimensioni dell'area visibile cambiano
- È stato corretto un bug in DiffUtil per cui poteva calcolare le differenze in modo errato quando un elemento originale del primo elenco veniva duplicato più volte nel secondo elenco. (b/123376278)
Versione 1.2.0-alpha01
18 dicembre 2019
Viene rilasciato androidx.recyclerview:recyclerview:1.2.0-alpha01
. La versione 1.2.0-alpha01 contiene questi commit.
Correzioni di bug
- Sono stati risolti i problemi minori di Fastscroller relativi al disegno RTL e alla precisione del tocco (b/143789932, aosp/1130438)
- È stato risolto l'arresto anomalo in ItemTouchHelper dopo la rimozione da RecyclerView durante l'esecuzione delle animazioni ItemTouchHelper (b/140447176, aosp/1167575)
Versione 1.1.0
Versione 1.1.0
20 novembre 2019
Viene rilasciato androidx.recyclerview:recyclerview:1.1.0
. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
PagerSnapHelper
eLinearSnapHelper
ora tengono conto della spaziatura interna di RecyclerView indipendentemente dal valore diclipToPadding
(b/139452422, b/139012032, aosp/1103182, aosp/1106715, aosp/11307)28{/1RecyclerView.setLayoutTransition(LayoutTransition)
è formalmente deprecato e genera unIllegalArgumentException
quando viene chiamato con un valore diverso da null. Usa invece il criterioRecyclerView.setItemAnimator(ItemAnimator)
. (aosp/839414)- aosp/723649: RecyclerView ora implementa
NestedScrollingChild3
, consentendo di sapere quando tutti i relativi contenuti principali nidificati hanno smesso di utilizzare le distanze di scorrimento nidificate. Se il codice sviluppatore al momento esegue l'override diRecyclerView.onNestedScroll(View, int, int, int, int, int)
, probabilmente non verrà più chiamato eRecyclerView.onNestedScroll(View, int, int, int, int, int, int[])
dovrà essere sostituito. - RecyclerView ora ha un attributo di stile predefinito:
recyclerViewStyle
, che consente di impostare lo stile predefinito nel tema - L'API ViewCompat Accessibility Actions non interrompe più RecyclerView ItemDelegate.
- È possibile eseguire l'override di
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])
per personalizzare la quantità di spazio di layout da aggiungere ai lati della RecyclerView associata. (aosp/931259). - È stato aggiunto un nuovo sovraccarico di smoothscrollBy:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)
, che ti consente di specificare una durata in millisecondi per la durata dell'animazione. (aosp/952807).
Versione 1.1.0-rc01
23 ottobre 2019
Viene rilasciato androidx.recyclerview:recyclerview:1.1.0-rc01
. La versione 1.1.0-rc01 contiene questi commit.
Correzioni di bug
- Risolto il problema di mancata risposta dell'applicazione durante l'override di
RecyclerViewAccessibilityDelegate.ItemDelegate
(aosp/1138057, aosp/1133434)
Versione 1.1.0-beta05
9 ottobre 2019
Viene rilasciato androidx.recyclerview:recyclerview:1.1.0-beta05
. La versione 1.1.0-beta05 contiene questi commit.
Modifiche alle API
- A seguito delle date aosp/1106715 e aosp/1103182, LinearSnapHelper e PagerSnapHelper restituiranno ora la vista che si trova al centro dei limiti di RecyclerView, meno la spaziatura interna, nonostante il valore di clipToPadding. (aosp/1130728)
Correzioni di bug
- È stato risolto un problema per cui RecyclerView generava nodi di accessibilità duplicati per gli elementi secondari di RecyclerView. (aosp/1130618)
- È stato risolto un problema per cui le gerarchie di accessibilità virtuale in RecyclerView non funzionavano.
- È stato risolto un problema per cui non venivano utilizzati gli oggetti ItemDelegate personalizzati personalizzati.
Versione 1.1.0-beta04
5 settembre 2019
Viene rilasciato androidx.recyclerview:recyclerview:1.1.0-beta04
. I commit inclusi in questa versione sono disponibili qui.
Correzioni di bug
PagerSnapHelper
eLinearSnapHelper
ora tengono conto della spaziatura interna di RecyclerView indipendentemente dal valore diclipToPadding
(b/139452422, b/139012032, aosp/1103182, aosp/1106715)- È stato corretto un bug per cui RecyclerView non consentiva l'intercettazione del tocco quando il pre-scorrimento nidificato causava lo scorrimento di un elemento
NestedScrollingParent
(b/138668210, aosp/1105373). Sono vantaggiose librerie come ViewPager2. - RecyclerView ora passa in modo coerente a
SCROLL_STATE_DRAGGING
prima dell'invio dei pre-scorrimenti nidificati (aosp/1105373) - Il pre-scorrimento nidificato non viene più eseguito prima che il gesto superi lo scorrimento del tocco (b/139530818, aosp/1105373)
- Gli argomenti
dx
edy
inviati a pre-scorrimenti nidificati vengono azzerati quando RecyclerView non può scorrere in quella direzione (aosp/1105373)
Versione 1.1.0-beta03
15 agosto 2019
Viene rilasciato androidx.recyclerview:recyclerview:1.1.0-beta03
. I commit inclusi in questa versione sono disponibili qui.
Modifiche alle API
- RecyclerView ora invia le distanze di scorrimento tramite
View.onScrollChanged(int l, int t, int oldl, int oldt)
in modo che i servizi di accessibilità ricevano notifiche sulle variazioni di scorrimento in modo accurato. (aosp/1007823)
Correzioni di bug
- È stato corretto un grave bug di overflow dello stack di bug relativo a RecyclerView e all'accessibilità. (aosp/1099577).
Versione 1.1.0-beta02
7 agosto 2019
Viene rilasciato androidx.recyclerview:recyclerview:1.1.0-beta02
. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
- RecyclerView ora ha un attributo di stile predefinito:
recyclerViewStyle
, che consente di impostare lo stile predefinito nel tema
Correzioni di bug
- È stato corretto un bug per cui RecyclerView non consentiva l'intercettazione del tocco durante lo scorrimento causava lo scorrimento di NestedscrollingParent. (b/131115697, aosp/1055911)
Versione 1.1.0-beta01
2 luglio 2019
Viene rilasciato androidx.recyclerview:recyclerview:1.1.0-beta01
. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
- Ora
RecyclerView
partecipa allo scorrimento nidificato quando viene avviato uno scorrimento tramite eventi di accessibilità. (aosp/973584)
Versione 1.1.0-alpha06
5 giugno 2019
Vengono rilasciate le versioni androidx.recyclerview:recyclerview:1.1.0-alpha06
e androidx.recyclerview:recyclerview-selection:1.1.0-alpha06
. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
- È stato aggiunto un nuovo sovraccarico di smoothscrollBy:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)
, che ti consente di specificare una durata in millisecondi per la durata dell'animazione. (aosp/952807).
Modifiche alle API
GridLayoutManager
eStaggeredGridLayoutManager
non etichettano più automaticamente gli elementi dell'intervallo completo come intestazioni ai fini dell'accessibilità (aosp/969703)- Mantieni l'ordine di selezione (in base all'ora di creazione) in
recyclerview-selection
(aosp/937279)
Correzioni di bug
- È stato corretto un bug per cui
RecyclerView
scorreva con velocità errate in una situazione di scorrimento nidificato. (aosp/961642) - Sono stati aggiunti miglioramenti della stabilità a
recyclerview-selection
(aosp/960213, aosp/926296)
Versione 1.1.0-alpha05
7 maggio 2019
Vengono rilasciate le versioni androidx.recyclerview:recyclerview:1.1.0-alpha05
e androidx.recyclerview:recyclerview-selection:1.1.0-alpha05
. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
- È possibile eseguire l'override di
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])
per personalizzare la quantità di spazio di layout da aggiungere ai lati della RecyclerView associata. (aosp/931259).
Modifiche alle API
- Aggiungi l'API per recuperare il drawable
DividerItemDecoration
(aosp/937282) - Ritira
LinearLayout.getExtraLayoutSpace(RecyclerVew.State)
a favore di un nuovo meccanismo che consenta di avere uno spazio di layout aggiuntivo personalizzato su entrambi i lati. Il nuovo metodo èLinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[])
(aosp/931259)
Correzioni di bug
- Selezione dei gesti eseguita (aosp/940781)
- Mantieni l'ordine di selezione (in base all'ora di creazione) (b/128455535)
Versione 1.1.0-alpha04
3 aprile 2019
Viene rilasciato androidx.recyclerview:recyclerview:1.1.0-alpha04
. I commit inclusi in questa versione sono disponibili qui.
Correzioni di bug
- In precedenza, RV OnItemTouchListener non è riuscito a intercettare ACTION_UP, impedendo a OnItemTouchListener di impedire ad altro codice di rispondere a ACTION_UP. Il problema ora è stato risolto: (aosp/916137)
Versione 1.1.0-alpha03
13 marzo 2019
Viene rilasciato androidx.recyclerview:recyclerview:1.1.0-alpha03
. L'elenco completo dei commit inclusi in questa versione è disponibile qui.
Nuove funzionalità
GridLayoutManager
: attivazione, risoluzione più altaGridLayoutManager
stima della dimensione della barra di scorrimento (aosp/838836):- Utilizza le informazioni sull'intervallo per stimare le dimensioni della barra di scorrimento per un
GridLayoutManager
. - Per l'abilitazione, chiama
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)
che restituisce true. - Per saperne di più, consulta la documentazione relativa a
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)
.
- Utilizza le informazioni sull'intervallo per stimare le dimensioni della barra di scorrimento per un
Correzioni di bug
- Accessibilità: si è verificato un bug per cui, una volta riciclato e poi restituito un ViewHolder, l'elemento ItemDelegate associato all'elemento
RecyclerViewAccessibilityDelegate
del RecyclerView non veniva associato all'elemento itemView di ViewAspettaer, interrompendo l'accessibilità. Il problema ora è stato risolto (aosp/917740).
Versione 1.1.0-alpha02
30 gennaio 2019
Viene rilasciato androidx.recyclerview:recyclerview 1.1.0-alpha02
.
Modifiche alle API
RecyclerView.setLayoutFrozen(boolean)
eRecyclerView.isLayoutFrozen()
sono stati ritirati a favore diRecyclerView.suppressLayout(boolean)
eRecyclerView.isLayoutSuppressed()
. (aosp/839414)RecyclerView.setLayoutTransition(LayoutTransition)
è formalmente deprecato e genera unIllegalArgumentException
quando viene chiamato con un valore diverso da null. (aosp/839414)
Correzioni di bug
- Correzione del bug in camper in cui
SmoothScroller
non viene mai arrestato (aosp/843741) - È stato corretto un bug per cui non era possibile chiamare
SCROLL_STATE_IDLE
alla fine di un'animazione a scorrimento. (aosp/812576).
Versione 1.1.0-alpha01
3 dicembre 2018
Vengono rilasciate le versioni androidx.recyclerview 1.1.0-alpha01
e androidx.recyclerview-selection 1.1.0-alpha01
.
Androidx.recyclerview 1.1.0-alpha01
Modifiche alle API
- aosp/723649: RecyclerView ora implementa
NestedScrollingChild3
, consentendo di sapere quando tutti i relativi contenuti principali nidificati hanno smesso di utilizzare le distanze di scorrimento nidificate. Se il codice sviluppatore al momento esegue l'override diRecyclerView.onNestedScroll(View, int, int, int, int, int)
, probabilmente non verrà più chiamato eRecyclerView.onNestedScroll(View, int, int, int, int, int, int[])
dovrà essere sostituito.
Correzioni di bug
- È stato corretto l'arresto anomalo durante l'utilizzo di
TransitionManager
per comprimere/espandere l'elemento inRecyclerView
(b/37129527). - È stato corretto il bug per cui il comportamento di
RecyclerView.OnItemTouchListener
non era coerente con il comportamento dionInterceptTouchEvent
eonTouchEvent
del sistema di visualizzazione (aosp/721235) - Sono stati corretti alcuni bug relativi allo scorrimento fluido (aosp/729718, aosp/747168, aosp/812576)
- È stata corretta la strategia di posizionamento in
PagerSnapHelper
per gestire visualizzazioni secondarie non tipiche (aosp/795752)
androidx.recyclerview-selection 1.1.0-alpha01
Correzioni di bug
- È stato corretto il problema
ConcurrentModificationException
quando il set di dati veniva modificato con la rimozione selezione.
RecyclerView-Selection Versione 1.1.0
RecyclerView-Selection Versione 1.1.0
27 gennaio 2021
Viene rilasciato androidx.recyclerview:recyclerview-selection:1.1.0
. La versione 1.1.0 contiene questi commit.
Modifiche principali dalla versione 1.0.0
- Numerosi miglioramenti della stabilità.
- Metodi
withGestureTooltypes
ewithPointerTooltypes
deprecati il giornoSelectionTracker.Builder
. Questi metodi verranno rimossi in una release futura.
RecyclerView-Selection Versione 1.1.0-rc03
1° ottobre 2020
Viene rilasciato androidx.recyclerview:recyclerview-selection:1.1.0-rc03
. La versione 1.1.0-rc03 contiene questi commit.
Correzioni di bug
Grazie a Stefan Kiesler per le correzioni relative al test e i feedback.
- È stato risolto il problema per cui gli elementi OnClickListener di visualizzazione figlio venivano chiamati in modo imprevisto durante la selezione attiva.
- Gestore del mouse (selezione banda) > Gestisci con grazia gli scorrimenti imprevisti. (b/167821507)
RecyclerView-Selection Versione 1.1.0-rc02
2 settembre 2020
Viene rilasciato androidx.recyclerview:recyclerview-selection:1.1.0-rc02
. La versione 1.1.0-rc02 contiene questi commit.
In evidenza
- Sono state risolte diverse regressioni da 1,0 nella gestione dell'input.
- Libreria aggiornata per rendere omaggio a
onRequestDisallowInterceptTouchEvent
e consentire un corretto funzionamento con ItemTouchHelper (basta far scorrere il dito per nasconderlo).
Correzioni di bug
- È stato risolto il problema per cui la libreria di selezione interpretava erroneamente gli eventi
GestureDetector
, con conseguente perdita di tocchi durante la selezione attiva (b/165030422) - È stato risolto il problema per cui la selezione non veniva aggiornata in modo da riflettere gli elementi rimossi dall'adattatore. (b/138932671)
- È stato risolto il problema a causa del quale gli elementi RecyclerView attivavano eventi ValueTrack mentre SelectionTracker aveva la selezione attiva (b/161162268)
- Ora gestisce correttamente
onRequestDisallowInterceptTouchEvent
- È stato risolto il problema per cui
”Cannot call this method in a scroll callback”
rilevato durante lo scorrimento del mouse su Q - Sono stati aggiornati i documenti (soprattutto in
StableIdKeyProvider
) per indicare chiaramente i requisiti dell'istanza RecyclerView
Recyclerview-Selection Versione 1.1.0-rc01
5 febbraio 2020
Viene rilasciato androidx.recyclerview:recyclerview-selection:1.1.0-rc01
. La versione 1.1.0-rc01 contiene questi commit.
Correzioni di bug
- È stato risolto un problema per cui RecyclerView ha difficoltà a scorrere con una selezione di gesti se interagisce con un AppBarLayout scorrevole (aosp/1193934)
RecyclerView-Selection Versione 1.1.0-beta01
4 dicembre 2019
Viene rilasciato androidx.recyclerview:recyclerview-selection:1.1.0-beta01
. La versione 1.1.0-beta01 contiene questi commit.
Miglioramenti generali alla stabilità relativi ai controlli difensivi e alla gestione dello stato interno.
Correzioni di bug
- Sono state migliorate la gestione dello stato della libreria e l'interpretazione degli eventi ANNULLA, con conseguente miglioramento della stabilità.
Modifiche alle API
- È stato aggiunto il parametro del tipo di chiave di selezione a classi e metodi in cui manca.
- Metodi deprecati:
- SelectionTracker.Builder#withPointerTooltype
- SelectionTracker.Builder#withGeTooltype
- Questi metodi esistevano con l'intento di consentire agli sviluppatori di mappare i comportamenti del puntatore o dei gesti a tipi di strumenti diversi da quelli predefiniti*. L'intento era positivo, ma dopo un ulteriore utilizzo è emerso che le aspettative degli utenti in merito al comportamento degli input sono molto specifiche per il tipo di strumento. Inoltre, il termine "passivo" gli stili sono il tipo di strumento FINGER per quanto riguarda il sistema di immissione Android.
- I tipi di strumento predefiniti sono FINGER per Gesto e MOUSE per Puntatore.