Recyclerview
Questa tabella elenca tutti gli elementi nel gruppo androidx.recyclerview
.
Elemento | Release stabile | Release Candidate | Versione beta | Versione alpha |
---|---|---|---|---|
recyclerview | 1.3.2 | 1.4.0-rc01 | - | - |
recyclerview-selection | 1.1.0 | - | - | 1.2.0-alpha01 |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza a RecyclerView, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli elementi necessari nel file build.gradle
per la tua app o il tuo modulo:
Alla moda
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 ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione del Monitoraggio problemi.
Versione 1.4
Versione 1.4.0-rc01
18 settembre 2024
androidx.recyclerview:recyclerview:1.4.0-rc01
è stato rilasciato senza modifiche dal 1.4.0-alpha02/. La versione 1.4.0-rc01 contiene questi commit.
Modifiche apportate dalla versione 1.3.2
Nota sulla compatibilità: questa versione verrà compilata solo con l'SDK API 35 (Vanilla Ice Cream) o versioni successive. Se durante l'upgrade vengono visualizzati avvisi AGP (Android Gradle Plugin), puoi ignorarli.
Nuove funzionalità
- Supporto della frequenza di aggiornamento
Adaptive
:RecyclerView
ora chiamasetFrameContentVelocity
quando scorre tramiteOverScroller
(ad esempio quando si stabilizza dopo un movimento brusco o uno scorrimento fluido). (I8f8a4)
Modifiche all'API
- Aggiungi l'API
RecyclerView$LayoutManager#isLayoutReversed
. (I4970e)
Altre modifiche
- È stato rimosso il riepilogo manuale dell'accesso alle nuove API di piattaforma, poiché avviene automaticamente tramite la definizione del modello 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). I clienti che non utilizzano AGP sono invitati a eseguire l'aggiornamento alla versione 8.1 o successive di D8. Consulta questo articolo per ulteriori dettagli. (Ia60e0, b/345472586)
- Aggiungi il tipo di visualizzazione elemento alle sezioni di traccia
RecyclerView
bind/create e etichetta i pre-caricamenti RV come "forzati - frame successivo necessario" se è previsto che vengano utilizzati dal frame successivo e quindi devono iniziare a funzionare il prima possibile. (I8ec3e, b/309523615) - Aggiorna
compileSdk
a 35 (per maggiori dettagli, consulta la "Nota sulla compatibilità" sopra). 5dc41be
Versione 1.4.0-beta01
21 agosto 2024
androidx.recyclerview:recyclerview:1.4.0-beta01
è stato rilasciato senza modifiche dalla versione 1.4.0-alpha02. La versione 1.4.0-beta01 contiene questi commit.
Nota sulla compatibilità: questa versione verrà compilata solo con l'SDK API 35 (Vanilla Ice Cream) o versioni successive. Se durante l'upgrade vengono visualizzati avvisi AGP (Android Gradle Plugin), puoi ignorarli.
Versione 1.4.0-alpha02
7 agosto 2024
androidx.recyclerview:recyclerview:1.4.0-alpha02
viene rilasciato. La versione 1.4.0-alpha02 contiene questi commit.
Nota sulla compatibilità: questa versione verrà compilata solo con l'SDK API 35 (Vanilla Ice Cream) o versioni successive. Se durante l'upgrade vengono visualizzati avvisi AGP (Android Gradle Plugin), puoi ignorarli.
Nuove funzionalità
- Supporto della frequenza di aggiornamento variabile: ora RecyclerView chiama
setFrameContentVelocity
quando scorre tramite OverScroller (ad esempio quando si stabilizza dopo un movimento brusco o uno scorrimento fluido). (I8f8a4)
Modifiche all'API
- API
ViewCompat.LAYOUT_DIRECTION_
ritirate (I51710, b/317055535) - Aggiungi l'API
RecyclerView$LayoutManager#isLayoutReversed
. (I4970e)
Altre modifiche
- È stato rimosso il riepilogo manuale dell'accesso alle nuove API di piattaforma, poiché avviene automaticamente tramite la definizione del modello 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). I clienti che non utilizzano AGP sono invitati a eseguire l'aggiornamento alla versione 8.1 o successive di D8. Consulta questo articolo per ulteriori dettagli. (Ia60e0, b/345472586)
- Aggiungi il tipo di visualizzazione elemento alle sezioni di traccia
RecyclerView
bind/create e etichetta i pre-caricamenti RV come "forzati - frame successivo necessario" se è previsto che vengano utilizzati dal frame successivo e quindi devono iniziare a funzionare il prima possibile. (I8ec3e, b/309523615) - Aggiorna
compileSdk
a 35 (per maggiori dettagli, consulta la "Nota sulla compatibilità" sopra). 5dc41be
Contributo esterno
GestureDetectorCompat
è stato ritirato perchéGestureDetector
è disponibile dalminSdk
. (Icc4cd)
Versione 1.4.0-alpha01
18 ottobre 2023
androidx.recyclerview:recyclerview:1.4.0-alpha01
viene rilasciato. La versione 1.4.0-alpha01 contiene questi commit.
Modifiche all'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 anche nella versione 1.3.2)
Versione 1.3.2
Versione 1.3.2
18 ottobre 2023
androidx.recyclerview:recyclerview:1.3.2
viene rilasciato. 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
androidx.recyclerview:recyclerview:1.3.1
è stato rilasciato senza modifiche dalla versione 1.3.1-rc01. La versione 1.3.1 contiene questi commit.
Per le note di rilascio della release precedente, consulta la nostra pagina delle note di rilascio
Versione 1.3.1-rc01
24 maggio 2023
androidx.recyclerview:recyclerview:1.3.1-rc01
viene rilasciato. La versione 1.3.1-rc01 contiene questi commit.
Gli utenti di ViewPager2 devono eseguire l'aggiornamento ad almeno 1.1.0-beta02 quando eseguono l'aggiornamento a questa versione di RecyclerView
per evitare arresti anomali.
Modifiche all'API
- Sono stati aggiunti nuovi metodi
setDebugAssertionsEnabled
esetVerboseLoggingEnabled
che possono essere utili per il debug dei problemi relativi aRecyclerView
nelle app. (I514b9)
Correzioni di bug
- Correggere gli arresti anomali per gli utenti di
ViewTreeLifecycleOwner
(inclusoComposeView
) ricollegando temporaneamente le visualizzazioni scollegate quando viene chiamataonBind
. (I7244f2c, b/265347515, b/283288295)
Versione 1.3.0
Versione 1.3.0
8 marzo 2023
Viene rilasciata la versione 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 (in precedenza inclusi in 1.3.0-alpha02 e 1.3.0-beta01) se utilizzata con Jetpack Compose. Se utilizzi Compose
1.2.0-beta02
o versioni successive e utilizzaviMyComposeAdapter
eDisposeOnViewTreeLifecycleDestroyed
ViewCompositionStrategy
descritti nelle linee guida sull'interoperabilità precedenti, devi rimuoverli, in quanto non sono più un miglioramento rispetto allo stato predefinito. - È stato aggiunto un nuovo metodo
ConcatAdapter.getWrappedAdapterAndPosition
per consentire il recupero delle informazioni sull'adattatore incapsulato in situazioni in cui non è presente unViewHolder
, ad esempio unSpanSizeLookup
(I2bd4c, b/191543920)
Versione 1.3.0-rc01
21 settembre 2022
androidx.recyclerview:recyclerview:1.3.0-rc01
viene rilasciato. La versione 1.3.0-rc01 contiene questi commit.
- Nessuna modifica dall'ultima release
Versione 1.3.0-beta02
10 agosto 2022
androidx.recyclerview:recyclerview:1.3.0-beta02
viene rilasciato. La versione 1.3.0-beta02 contiene questi commit.
Modifiche all'API
- Sono state rimosse le annotazioni di nullità aggiunte in 1.3.0-beta01 perché rappresentavano una modifica significativa non compatibile con il codice sorgente per gli utenti di Kotlin (I7a258,I1557e6,I8db76)
Versione 1.3.0-beta01
29 giugno 2022
androidx.recyclerview:recyclerview:1.3.0-beta01
viene rilasciato. La versione 1.3.0-beta01 contiene questi commit.
Nuove funzionalità
- Questa release beta contiene miglioramenti delle prestazioni (in precedenza inclusi nella versione 1.3.0-alpha02 se utilizzata con Jetpack Compose. Se utilizzi Compose
1.2.0-beta02
o versioni successive e utilizzaviMyComposeAdapter
eDisposeOnViewTreeLifecycleDestroyed
ViewCompositionStrategy
descritti nelle linee guida sull'interoperabilità precedenti, devi rimuoverli, in quanto non sono più un miglioramento rispetto allo stato predefinito.
Modifiche all'API
- Sono state aggiunte annotazioni di nullità per una serie di metodi e parametri per migliorare gli avvisi di lint per gli utenti Java e l'interoperabilità per gli utenti Kotlin. Questa potrebbe essere una modifica che comporta una rottura del codice sorgente per alcuni utenti di Kotlin e potrebbe comportare avvisi/errori di lint aggiuntivi per alcuni utenti di Java. (I61829, b/236487044; Ia0b6f; I6f119, b/236487209; Ibe1de, b/236487210)
Correzioni di bug
- Assicurati che le griglie vengano trattate come griglie dai servizi a11y impostando un nome di classe di informazioni del nodo a11y. (I12812)
Versione 1.3.0-alpha02
6 aprile 2022
androidx.recyclerview:recyclerview:1.3.0-alpha02
viene rilasciato. La versione 1.3.0-alpha02 contiene questi commit.
Modifiche all'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 sull'adattatore avvolto in situazioni in cui non è presente un ViewHolder, ad esempio unSpanSizeLookup
(I2bd4c, b/191543920)
Correzioni di bug
- Integrazione con la nuova libreria PoolingContainer di AndroidX (Ib89d2)
- Regola la distanza di scorrimento per l'azione di accessibilità (If74ae)
Versione 1.3.0-alpha01
15 settembre 2021
androidx.recyclerview:recyclerview:1.3.0-alpha01
viene rilasciato. La versione 1.3.0-alpha01 contiene questi commit.
Nuove funzionalità
- È stato aggiunto il supporto per RecyclerView con scorrimento elastico. (Iab877)
RecyclerView-Selection versione 1.2.0
Versione 1.2.0-alpha01
5 maggio 2021
androidx.recyclerview:recyclerview-selection:1.2.0-alpha01
viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.
Correzioni di bug
- È stato risolto un problema per cui la mappatura chiave/posizione in KeyProvider andava persa mentre la voce non era ancora stata riciclata. (b/145767095)
Versione 1.2.1
Versione 1.2.1
2 giugno 2021
androidx.recyclerview:recyclerview:1.2.1
viene rilasciato. La versione 1.2.1 contiene questi commit.
Correzioni di bug
- I
ViewHolder
all'interno di unConcatAdapter
ora restituiscono la posizione dell'adattatore corretta quando viene eseguita una query nel callbackonViewRecycled
. (b/187339376)
Versione 1.2.0
Versione 1.2.0
7 aprile 2021
androidx.recyclerview:recyclerview:1.2.0
viene rilasciato. La versione 1.2.0 contiene questi commit.
Modifiche principali dalla versione 1.1.0
ConcatAdapter: questo nuovo adattatore consente di concatenare facilmente più adattatori sullo stesso RecyclerView. Per ulteriori informazioni, consulta il post del blog.
- Nell'ambito di questa modifica,
ViewHolder.getAdapterPosition
viene ritirato e sostituito da due nuovi metodi:- getBindingAdapterPosition restituisce la posizione relativa all'adattatore che ha associato l'elemento.
- getAbsoluteAdapterPosition restituisce la posizione relativa all'intero RecyclerView.
Ripristino dello stato lazy: l'adattatore RecyclerView 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
androidx.recyclerview:recyclerview:1.2.0-rc01
viene rilasciato. La versione 1.2.0-rc01 contiene questi commit.
Correzioni di bug
ConcatAdapter.Config.Builder
ora ha valori predefiniti corrispondenti aConfig.DEFAULT
(b/157169835)
Versione 1.2.0-beta02
24 febbraio 2021
androidx.recyclerview:recyclerview:1.2.0-beta02
viene rilasciato. La versione 1.2.0-beta02 contiene questi commit.
Correzioni di bug
- È stato risolto un problema per cui il padding superiore causava lo spostamento verso l'alto dell'effetto di scorrimento verso l'alto a destra nell'area con spaziatura, anziché verso il basso per rispettare il padding. (I6b61d, b/118399122)
Versione 1.2.0-beta01
2 dicembre 2020
androidx.recyclerview:recyclerview:1.2.0-beta01
viene rilasciato senza modifiche dal giorno 1.2.0-alpha06
. La versione 1.2.0-beta01 contiene questi commit.
Versione 1.2.0-alpha06
1° ottobre 2020
androidx.recyclerview:recyclerview:1.2.0-alpha06
viene rilasciato. La versione 1.2.0-alpha06 contiene questi commit.
Nuove funzionalità
- È stato aggiunto il supporto per l'aggiunta di più RecyclerListeners. (I70ad8, b/145767095)
Modifiche all'API
- RecyclerView.setRecyclerListener(RecyclerListener) è stato deprecato. (I70ad8, b/145767095)
Versione 1.2.0-alpha05
22 luglio 2020
androidx.recyclerview:recyclerview:1.2.0-alpha05
viene rilasciato. La versione 1.2.0-alpha05 contiene questi commit.
Correzioni di bug
- È stato risolto il problema per cui, se un RecyclerView contiene un solo elemento ed è attivo, l'attivazione del focus in avanti o indietro non sposta il focus. (6f36b3)
- È stato corretto un problema relativo a
ArrayIndexOutOfBoundsException
inStaggeredGridLayoutManager
(49b601, b/122303625, b/74877618, b/160193663, b/37086625) - È stato corretto un bug di misurazione che, in circostanze specifiche, impediva a RecyclerView di mostrare in modo inappropriato i relativi elementi secondari. (89040c, b/138734786)
Contributi esterni
- Grazie a Kolin Krewinkel per il contributo a nome di Facebook.
Versione 1.2.0-alpha04
24 giugno 2020
androidx.recyclerview:recyclerview:1.2.0-alpha04
viene rilasciato. La versione 1.2.0-alpha04 contiene questi commit.
Modifiche all'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
androidx.recyclerview:recyclerview:1.2.0-alpha03
viene rilasciato. La versione 1.2.0-alpha03 contiene questi commit.
Nuove funzionalità
- RecyclerView ora dispone di un metodo
nestedScrollBy
che consente lo scorrimento programmatico che collabora con lo scorrimento nidificato: (Ibaa58)
Versione 1.2.0-alpha02
1° aprile 2020
androidx.recyclerview:recyclerview:1.2.0-alpha02
viene rilasciato. La versione 1.2.0-alpha02 contiene questi commit.
Questa 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 alla versione androidx.viewpager2:viewpager2:1.1.0-alpha01
.
Nuove funzionalità
MergeAdapter
- MergeAdapter: un nuovo adattatore RecyclerView che può combinare più adattatori in modo lineare.
MyAdapter adapter1 = ...; AnotherAdapter adapter2 = ...; MergeAdapter merged = new MergeAdapter(adapter1, adapter2); recyclerView.setAdapter(mergedAdapter);
Per l'esempio precedente, MergeAdapter presenterà gli elementi di
adapter1
seguiti daadapter2
.RecyclerView.Adapter
Ripristino dello stato lazy:È stata aggiunta una nuova API alla classe
RecyclerView.Adapter
che consente all'adattatore di controllare quando deve essere ripristinato lo stato del layout.Ad esempio, puoi chiamare:
myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
per fare in modo che RecyclerView attenda che l'adattatore non sia vuoto prima di ripristinare la posizione di scorrimento.
CollectionInfo e CollectionItemInfo non verranno più compilati per impostazione predefinita.
Se vuoi che Accessibility Services (ad esempio TalkBack) continui a indicare il conteggio e l'indice dell'elemento all'utente, dovrai compilare CollectionInfo e CollectionItemInfo autonomamente.
Questi oggetti non vengono più compilati nel framework perché il framework non è in grado di 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 visualizzazioni esterne all'area visibile quando le dimensioni dell'area visibile sono cambiate
- È stato corretto un bug in DiffUtil per cui la differenza potrebbe essere calcolata in modo errato quando un elemento originale del primo elenco viene duplicato più volte nel secondo elenco. (b/123376278)
Versione 1.2.0-alpha01
18 dicembre 2019
androidx.recyclerview:recyclerview:1.2.0-alpha01
viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.
Correzioni di bug
- Sono stati corretti piccoli problemi relativi a FastScroller relativi al disegno RTL e all'accuratezza del tocco (b/143789932, aosp/1130438)
- È stato corretto un arresto anomalo in ItemTouchHelper quando viene rimosso da RecyclerView mentre sono in esecuzione le animazioni di ItemTouchHelper (b/140447176, aosp/1167575)
Versione 1.1.0
Versione 1.1.0
20 novembre 2019
androidx.recyclerview:recyclerview:1.1.0
viene rilasciato. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
PagerSnapHelper
eLinearSnapHelper
ora tengono conto del padding di RecyclerView indipendentemente dal valore diclipToPadding
(b/139452422, b/139012032, aosp/1103182, aosp/1106715, aosp/1130728)RecyclerView.setLayoutTransition(LayoutTransition)
è formalmente deprecato e genera unIllegalArgumentException
quando viene chiamato con un valore non null. Utilizza inveceRecyclerView.setItemAnimator(ItemAnimator)
. (aosp/839414)- aosp/723649: RecyclerView ora implementa
NestedScrollingChild3
, il che gli consente di essere informato quando tutti i suoi elementi principali con scorrimento nidificato hanno smesso di consumare distanze di scorrimento nidificate. Se al momento il codice sviluppatore sostituisceRecyclerView.onNestedScroll(View, int, int, int, int, int)
, probabilmente non verrà più chiamato e dovrebbe essere sostituito daRecyclerView.onNestedScroll(View, int, int, int, int, int, int[])
. - RecyclerView ora ha un attributo di stile predefinito:
recyclerViewStyle
, che consente di impostare lo stile predefinito nel tema - L'API ViewCompat per le azioni di accessibilità non interrompe più ItemDelegate di RecyclerView.
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])
può essere sostituito per personalizzare lo spazio di layout aggiuntivo da aggiungere a entrambi i lati del RecyclerView associato. (aosp/931259)- È stata aggiunta una nuova sovraccarica di smoothScrollBy:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)
, che consente di specificare una durata in millisecondi per la durata dell'animazione. (aosp/952807)
Versione 1.1.0-rc01
23 ottobre 2019
androidx.recyclerview:recyclerview:1.1.0-rc01
viene rilasciato. La versione 1.1.0-rc01 contiene questi commit.
Correzioni di bug
- È stato corretto un errore "L'applicazione non risponde" quando si sostituisce
RecyclerViewAccessibilityDelegate.ItemDelegate
(aosp/1138057, aosp/1133434)
Versione 1.1.0-beta05
9 ottobre 2019
androidx.recyclerview:recyclerview:1.1.0-beta05
viene rilasciato. La versione 1.1.0-beta05 contiene questi commit.
Modifiche all'API
- In seguito ai problemi aosp/1106715 e aosp/1103182, ora LinearSnapHelper e PagerSnapHelper restituiranno la visualizzazione al centro dei limiti di RecyclerView, meno i padding, 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 nei RecyclerView non funzionavano.
- Risolto un problema per cui non venivano utilizzati ItemDelegate personalizzati.
Versione 1.1.0-beta04
5 settembre 2019
androidx.recyclerview:recyclerview:1.1.0-beta04
viene rilasciato. I commit inclusi in questa versione sono disponibili qui.
Correzioni di bug
PagerSnapHelper
eLinearSnapHelper
ora prendono in considerazione il padding di RecyclerView indipendentemente dal valore diclipToPadding
(b/139452422, b/139012032, aosp/1103182, aosp/1106715)- È stato corretto un bug per cui RecyclerView non impediva l'intercettazione dei tocchi quando lo scorrimento precedente nidificato causava lo scorrimento di un
NestedScrollingParent
(b/138668210, aosp/1105373). Questo è vantaggioso per librerie come ViewPager2. - Ora RecyclerView passa sempre a
SCROLL_STATE_DRAGGING
prima che vengano inviati i pre-scorrimenti nidificati (aosp/1105373) - Il pre-scorrimento nidificato non viene più eseguito prima che il gesto superi la tolleranza al tocco (b/139530818, aosp/1105373)
- Gli argomenti
dx
edy
inviati ai pre-scorrimenti nidificati vengono azzerati quando RecyclerView non può scorrere in quella direzione (aosp/1105373)
Versione 1.1.0-beta03
15 agosto 2019
androidx.recyclerview:recyclerview:1.1.0-beta03
viene rilasciato. I commit inclusi in questa versione sono disponibili qui.
Modifiche all'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à vengano informati con precisione delle modifiche dello scorrimento. (aosp/1007823)
Correzioni di bug
- È stato corretto un grave bug di overflow dello stack relativo a RecyclerView e accessibilità. (aosp/1099577)
Versione 1.1.0-beta02
7 agosto 2019
androidx.recyclerview:recyclerview:1.1.0-beta02
viene rilasciato. 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 dei tocchi durante lo scorrimento, causando lo scorrimento di NestedScrollingParent. (b/131115697, aosp/1055911)
Versione 1.1.0-beta01
2 luglio 2019
androidx.recyclerview:recyclerview:1.1.0-beta01
viene rilasciato. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
RecyclerView
ora partecipa allo scorrimento nidificato quando viene avviato uno scorrimento tramite eventi di accessibilità. (aosp/973584)
Versione 1.1.0-alpha06
5 giugno 2019
androidx.recyclerview:recyclerview:1.1.0-alpha06
e androidx.recyclerview:recyclerview-selection:1.1.0-alpha06
vengono rilasciati. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
- È stata aggiunta una nuova sovraccarica di smoothScrollBy:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)
, che consente di specificare una durata in millisecondi per la durata dell'animazione. (aosp/952807)
Modifiche all'API
GridLayoutManager
eStaggeredGridLayoutManager
non etichettano più automaticamente gli elementi con larghezza completa come intestazioni per motivi di accessibilità (aosp/969703)- Mantenere l'ordine di selezione (per data di creazione) in
recyclerview-selection
(aosp/937279)
Correzioni di bug
- È stato corretto un bug per cui
RecyclerView
veniva lanciato con velocità errate in una situazione di scorrimento nidificato. (aosp/961642) - Sono stati aggiunti miglioramenti alla stabilità di
recyclerview-selection
(aosp/960213, aosp/926296)
Versione 1.1.0-alpha05
7 maggio 2019
androidx.recyclerview:recyclerview:1.1.0-alpha05
e androidx.recyclerview:recyclerview-selection:1.1.0-alpha05
vengono rilasciati. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])
può essere ignorato per personalizzare la quantità di spazio di layout aggiuntivo da aggiungere a entrambi i lati del RecyclerView associato. (aosp/931259)
Modifiche all'API
- Aggiungi l'API per recuperare l'elemento drawable
DividerItemDecoration
(aosp/937282) LinearLayout.getExtraLayoutSpace(RecyclerVew.State)
verrà ritirato a favore di un nuovo meccanismo che consente di avere uno spazio di layout extra personalizzato su entrambi i lati. Il nuovo metodo èLinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[])
(aosp/931259)
Correzioni di bug
- Selezione dei gesti semplificata (aosp/940781)
- Mantieni l'ordine di selezione (in base alla data di creazione) (b/128455535)
Versione 1.1.0-alpha04
3 aprile 2019
androidx.recyclerview:recyclerview:1.1.0-alpha04
viene rilasciato. I commit inclusi in questa versione sono disponibili qui.
Correzioni di bug
- In precedenza, OnItemTouchListener di RV non poteva intercettare ACTION_UP, impedendo a OnItemTouchListener di bloccare la risposta di altro codice ad ACTION_UP. Il problema è stato risolto: (aosp/916137)
Versione 1.1.0-alpha03
13 marzo 2019
androidx.recyclerview:recyclerview:1.1.0-alpha03
viene rilasciato. L'elenco completo dei commit inclusi in questa versione è disponibile qui.
Nuove funzionalità
GridLayoutManager
: attivazione, stima delle dimensioni della barra di scorrimentoGridLayoutManager
a risoluzione più elevata (aosp/838836):- Utilizza le informazioni sull'intervallo per stimare le dimensioni della barra di scorrimento per un
GridLayoutManager
. - Per attivarlo, chiama
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)
passando true. - Per ulteriori informazioni, consulta la documentazione su
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)
.
- Utilizza le informazioni sull'intervallo per stimare le dimensioni della barra di scorrimento per un
Correzioni di bug
- Accessibilità: esisteva un bug per cui, una volta riutilizzato e poi ricollegato un ViewHolder, l'ItemDelegate associato al
RecyclerViewAccessibilityDelegate
di RecyclerView non veniva associato all'itemView del ViewHolder, compromettendo l'accessibilità. Il problema è stato risolto (aosp/917740).
Versione 1.1.0-alpha02
30 gennaio 2019
androidx.recyclerview:recyclerview 1.1.0-alpha02
viene rilasciato.
Modifiche all'API
RecyclerView.setLayoutFrozen(boolean)
eRecyclerView.isLayoutFrozen()
sono deprecati in favore diRecyclerView.suppressLayout(boolean)
eRecyclerView.isLayoutSuppressed()
. (aosp/839414)RecyclerView.setLayoutTransition(LayoutTransition)
è formalmente deprecato e genera unIllegalArgumentException
quando viene chiamato con un valore non null. (aosp/839414)
Correzioni di bug
- Correzione di un bug in RV in cui
SmoothScroller
non viene mai interrotto (aosp/843741) - È stato corretto un bug per cui
SCROLL_STATE_IDLE
potrebbe non essere chiamato alla fine di un'animazione con scorrimento. (aosp/812576)
Versione 1.1.0-alpha01
3 dicembre 2018
androidx.recyclerview 1.1.0-alpha01
e androidx.recyclerview-selection 1.1.0-alpha01
vengono rilasciati.
androidx.recyclerview 1.1.0-alpha01
Modifiche all'API
- aosp/723649: RecyclerView ora implementa
NestedScrollingChild3
, il che gli consente di essere informato quando tutti i suoi elementi principali con scorrimento nidificato hanno smesso di consumare distanze di scorrimento nidificate. Se al momento il codice sviluppatore sostituisceRecyclerView.onNestedScroll(View, int, int, int, int, int)
, probabilmente non verrà più chiamato e dovrebbe essere sostituito daRecyclerView.onNestedScroll(View, int, int, int, int, int, int[])
.
Correzioni di bug
- È stato corretto un arresto anomalo quando si utilizza
TransitionManager
per comprimere/espandere un elemento inRecyclerView
(b/37129527). - È stato corretto un bug per cui il comportamento di
RecyclerView.OnItemTouchListener
non era coerente con quello dionInterceptTouchEvent
eonTouchEvent
del sistema di visualizzazione (aosp/721235) - Sono stati corretti alcuni bug relativi a casi limite relativi allo scorrimento fluido (aosp/729718, aosp/747168, aosp/812576)
- È stata corretta la strategia di agganci in
PagerSnapHelper
per gestire le visualizzazioni secondarie non standard (aosp/795752)
androidx.recyclerview-selection 1.1.0-alpha01
Correzioni di bug
- È stato corretto il problema
ConcurrentModificationException
quando il set di dati è stato modificato con la rimozione della selezione.
RecyclerView-Selection versione 1.1.0
RecyclerView-Selection versione 1.1.0
27 gennaio 2021
androidx.recyclerview:recyclerview-selection:1.1.0
viene rilasciato. La versione 1.1.0 contiene questi commit.
Modifiche principali dalla versione 1.0.0
- Numerosi miglioramenti della stabilità.
- Metodi
withGestureTooltypes
ewithPointerTooltypes
ritirati il giornoSelectionTracker.Builder
. Questi metodi verranno rimossi in una release futura.
RecyclerView-Selection versione 1.1.0-rc03
1° ottobre 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc03
viene rilasciato. La versione 1.1.0-rc03 contiene questi commit.
Correzioni di bug
Grazie a Stefan Kiesler per aver testato le correzioni e i feedback.
- È stato risolto il problema per cui gli ascoltatori di clic della visualizzazione secondaria venivano chiamati in modo imprevisto durante la selezione attiva.
- Gestore del mouse (selezione banda) > Gestisci in modo elegante i scorrimenti imprevisti. (b/167821507)
RecyclerView-Selection versione 1.1.0-rc02
2 settembre 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc02
viene rilasciato. La versione 1.1.0-rc02 contiene questi commit.
In evidenza
- Sono state risolte diverse regressioni rispetto alla versione 1.0 nella gestione dell'input.
- La libreria è stata aggiornata per supportare
onRequestDisallowInterceptTouchEvent
, in modo che funzioni bene con ItemTouchHelper (basta scorrere verso l'esterno).
Correzioni di bug
- È stato risolto un problema relativo alla libreria di selezione che 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 base agli elementi rimossi dall'adattatore. (b/138932671)
- È stato risolto il problema per cui gli elementi RecyclerView attivavano gli eventi onClick mentre SelectionTracker aveva una selezione attiva (b/161162268)
- Ora gestisce correttamente
onRequestDisallowInterceptTouchEvent
- È stato risolto il problema relativo al carattere
”Cannot call this method in a scroll callback”
visualizzato durante lo scorrimento del mouse su Q - Documentazione aggiornata (in particolare in
StableIdKeyProvider
) per indicare chiaramente i requisiti dell'istanza RecyclerView
Recyclerview-Selection versione 1.1.0-rc01
5 febbraio 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc01
viene rilasciato. La versione 1.1.0-rc01 contiene questi commit.
Correzioni di bug
- È stato risolto un problema per cui è difficile scorrere RecyclerView con una selezione di gesti se interagisce con un layout AppBar scorrevole (aosp/1193934)
RecyclerView-Selection versione 1.1.0-beta01
4 dicembre 2019
androidx.recyclerview:recyclerview-selection:1.1.0-beta01
viene rilasciato. La versione 1.1.0-beta01 contiene questi commit.
Miglioramenti generali alla stabilità relativi a controlli difensivi e gestione dello stato interno.
Correzioni di bug
- Gestione migliorata dello stato della raccolta e interpretazione degli eventi CANCEL, con conseguente miglioramento della stabilità.
Modifiche all'API
- È stato aggiunto il parametro di tipo di chiave di selezione a classi e metodi in cui mancava.
- Metodi obsoleti:
- SelectionTracker.Builder#withPointerTooltype
- SelectionTracker.Builder#withGestureTooltype
- Questi metodi esistevano con l'intento che gli sviluppatori potessero mappare i comportamenti del cursore o dei gesti a tipi di strumenti diversi da quelli predefiniti*. L'intenzione era buona, ma con l'ulteriore utilizzo è emerso chiaramente che le aspettative degli utenti in merito al comportamento di inserimento sono molto specifiche per tipo di strumento. Inoltre, gli stili "passivi" sono di tipo FINGER per quanto riguarda il sistema di input di Android.
- I tipi di strumenti predefiniti sono FINGER per Gesto e MOUSE per Cursore.