Widok recyklingowy
Ta tabela zawiera wszystkie artefakty w grupie androidx.recyclerview
.
Artefakt | Wersja stabilna | Kandydat do wydania | Wersja Beta | Wydanie alfa |
---|---|---|---|---|
Recyclerview | 1.3.2 | - | 1.4.0-beta01 | - |
Wybór widoku danych z recyklingu | 1.1.0 | - | - | 1.2.0-alfa01 |
Deklarowanie zależności
Aby dodać zależność w RecyclerView, musisz dodać repozytorium Google Maven do swojego w projektach AI. Zapoznaj się z repozytorium Google Maven. .
Dodaj zależności artefaktów, których potrzebujesz w pliku build.gradle
aplikacji lub modułu:
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") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli odkryjesz nowe problemy jak ulepszyć tę bibliotekę. Przyjrzyj się istniejące problemy w tej bibliotece, zanim utworzysz nową. Możesz zagłosować nad istniejącym problemem przez klikając przycisk gwiazdki.
Zobacz dokumentację narzędzia Issue Tracker. .
Wersja 1.4
Wersja 1.4.0-beta01
21 sierpnia 2024 r.
Usługa androidx.recyclerview:recyclerview:1.4.0-beta01
została udostępniona bez zmian od wersji 1.4.0-alfa02. Wersja 1.4.0-beta01 zawiera te zatwierdzenia.
Uwaga na temat zgodności: ta wersja jest kompilowana tylko z pakietem SDK API 35 (Vanilla Ice Cream) lub nowszym. Jeśli podczas uaktualnienia zobaczysz ostrzeżenia AGP (Android Gradle Plugin), możesz je powstrzymać.
Wersja 1.4.0-alpha02
7 sierpnia 2024 r.
Usługa androidx.recyclerview:recyclerview:1.4.0-alpha02
została zwolniona. Wersja 1.4.0-alfa02 zawiera te zatwierdzenia.
Uwaga na temat zgodności: ta wersja jest kompilowana tylko z pakietem SDK API 35 (Vanilla Ice Cream) lub nowszym. Jeśli podczas uaktualnienia zobaczysz ostrzeżenia AGP (Android Gradle Plugin), możesz je powstrzymać.
Nowe funkcje
- Obsługa zmiennej częstotliwości odświeżania: funkcja RecyclerView wywołuje teraz funkcję
setFrameContentVelocity
podczas przewijania za pomocą funkcji Over Scroller (np. w przypadku przesuwania lub płynnego przewijania). (I8f8a4)
Zmiany interfejsu API
- Wycofane interfejsy API
ViewCompat.LAYOUT_DIRECTION_
(I51710, b/317055535) - Dodaj interfejs
RecyclerView$LayoutManager#isLayoutReversed
API. (I4970e)
Inne zmiany
- Usunęliśmy ręczne dodawanie informacji o dostępie do nowych interfejsów API platformy, ponieważ dzieje się to automatycznie przez modelowanie API w przypadku korzystania z R8 z pakietem AGP w wersji 7.3 lub nowszej (np. R8 w wersji 3.3) oraz wszystkich kompilacji z pakietem AGP 8.1 lub nowszym (np. D8 w wersji 8.1). Klientom, którzy nie korzystają z pakietu AGP, zalecamy zaktualizowanie go do wersji D8 w wersji 8.1 lub nowszej. Więcej szczegółów znajdziesz w tym artykule. (Ia60e0, b/345472586)
- Dodaj typ widoku elementu do
RecyclerView
tworzenia/powiązywania sekcji logu czasu i dodaj etykietę „wymuszone – wymagana następna klatka” dla pobierania z wyprzedzeniem dla kamperów jeśli mają zostać wykorzystane w następnej klatce, więc powinny zacząć działać jak najszybciej. (I8ec3e, b/309523615) - Zaktualizuj aplikację
compileSdk
do wersji 35 (aby dowiedzieć się więcej, zobacz „Uwagi dotyczące zgodności” powyżej). 5dc41be
Treści tłumaczone przez użytkowników zewnętrznych
- Interfejs
GestureDetectorCompat
został wycofany, ponieważ interfejsGestureDetector
jest dostępny wminSdk
. (Icc4cd).
Wersja 1.4.0-alpha01
18 października 2023 r.
Usługa androidx.recyclerview:recyclerview:1.4.0-alpha01
została zwolniona. Wersja 1.4.0-alfa01 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodaj interfejs
RecyclerView$LayoutManager#isLayoutReversed
API. (I4970e)
Poprawki błędów
- Usunięcie błędu powodującego sporadyczne awarie podczas animacji (I42f22b) (dostępnego też w wersji 1.3.2)
Wersja 1.3.2
Wersja 1.3.2
18 października 2023 r.
Usługa androidx.recyclerview:recyclerview:1.3.2
została zwolniona. Wersja 1.3.2 zawiera te zatwierdzenia.
Poprawki błędów
- Usuń błąd powodujący sporadyczne awarie podczas animacji. (I42f22b)
Wersja 1.3.1
Wersja 1.3.1
26 lipca 2023 r.
Udostępniono androidx.recyclerview:recyclerview:1.3.1
bez zmian od wersji 1.3.1-rc01. Wersja 1.3.1 zawiera te zatwierdzenia.
Informacje o poprzedniej wersji znajdziesz na stronie z informacjami o wersji.
Wersja 1.3.1-rc01
24 maja 2023 r.
Usługa androidx.recyclerview:recyclerview:1.3.1-rc01
została zwolniona. Wersja 1.3.1-rc01 zawiera te zatwierdzenia.
Aby uniknąć awarii, użytkownicy ViewPager2 muszą zaktualizować się do wersji co najmniej 1.1.0-beta02 podczas aktualizowania do tej wersji RecyclerView
.
Zmiany interfejsu API
- Dodaj nowe metody
setDebugAssertionsEnabled
isetVerboseLoggingEnabled
, które mogą pomóc w debugowaniu problemów związanych zRecyclerView
w aplikacjach. (I514b9)
Poprawki błędów
- Napraw awarie, które wystąpiły u użytkowników aplikacji
ViewTreeLifecycleOwner
(w tymComposeView
), tymczasowo dodając ponownie odłączone widoki podczas wywoływania funkcjionBind
. (I7244f2c, b/265347515, b/283288295)
Wersja 1.3.0
Wersja 1.3.0
8 marca 2023 r.
Udostępniono androidx.recyclerview:recyclerview:1.3.0
bez zmian od wersji 1.3.0-rc01. Wersja 1.3.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.2.0
- Ta wersja zawiera ulepszenia w zakresie wydajności (wcześniej dostępne w wersjach 1.3.0-alfa02 i 1.3.0-beta01), gdy jest używana z Jetpack Compose. Jeśli używasz funkcji Utwórz
1.2.0-beta02
lub nowszej oraz używasz funkcjiMyComposeAdapter
iDisposeOnViewTreeLifecycleDestroyed
ViewCompositionStrategy
opisanych w poprzednich wskazówkach dotyczących interoperacyjności, musisz je usunąć, ponieważ nie są już one lepsze w stosunku do stanu domyślnego. - Dodano nową metodę
ConcatAdapter.getWrappedAdapterAndPosition
, która umożliwia pobieranie opakowanych informacji o adapterze w sytuacjach, gdy nie maViewHolder
, np.SpanSizeLookup
(I2bd4c, b/191543920)
Wersja 1.3.0-rc01
21 września 2022 r.
Usługa androidx.recyclerview:recyclerview:1.3.0-rc01
została zwolniona. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.
- Brak zmian od ostatniej wersji
Wersja 1.3.0-beta02
10 sierpnia 2022 r.
Usługa androidx.recyclerview:recyclerview:1.3.0-beta02
została zwolniona. Wersja 1.3.0-beta02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- W wersji 1.3.0-beta01 usunęliśmy adnotacje o wartości null, ponieważ w przypadku użytkowników Kotlin reprezentują one istotną zmianę niezgodną ze źródłem (I7a258,I1557e6, I8db76)
Wersja 1.3.0-beta01
29 czerwca 2022 r.
Usługa androidx.recyclerview:recyclerview:1.3.0-beta01
została zwolniona. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
- Ta wersja beta zawiera ulepszenia w zakresie wydajności (wcześniej dostępne w wersji 1.3.0-alfa02 podczas korzystania z Jetpack Compose. Jeśli używasz funkcji Utwórz
1.2.0-beta02
lub nowszej oraz używasz funkcjiMyComposeAdapter
iDisposeOnViewTreeLifecycleDestroyed
ViewCompositionStrategy
opisanych w poprzednich wskazówkach dotyczących interoperacyjności, musisz je usunąć, ponieważ nie są już one lepsze w stosunku do stanu domyślnego.
Zmiany interfejsu API
- Dodano adnotacje dotyczące wartości null dla wielu metod i parametrów, aby ulepszyć ostrzeżenia dotyczące lintowania dla użytkowników języka Java oraz interoperacyjność w przypadku użytkowników Kotlin. W przypadku niektórych użytkowników Kotlin może to powodować problemy z działaniem, a u niektórych użytkowników środowiska Java mogą występować dodatkowe ostrzeżenia/błędy dotyczące lintowania. (I61829, b/236487044; Ia0b6f; I6f119, b/236487209; Ibe1de, b/236487210)
Poprawki błędów
- Ustaw nazwę klasy informacji o węźle, aby mieć pewność, że usługi ułatwień dostępu będą traktować siatki jako siatki. (I12812)
Wersja 1.3.0-alfa02
6 kwietnia 2022 roku
Usługa androidx.recyclerview:recyclerview:1.3.0-alpha02
została zwolniona. Wersja 1.3.0-alfa02 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Dodaje eksperymentalne metody
BuildCompat
w przyszłych pakietach SDK (Iafd82, b/207528937) - Dodano nową metodę
ConcatAdapter.getWrappedAdapterAndPosition
, która umożliwia pobieranie opakowanych informacji o adapterze w sytuacjach, gdy nie ma obiektu ViewHolder, np.SpanSizeLookup
(I2bd4c, b/191543920)
Poprawki błędów
- Integracja z nową biblioteką AndroidX PoolingContainer (Ib89d2)
- Dostosowuje odległość przewijania w przypadku czynności ułatwień dostępu (If74ae)
Wersja 1.3.0-alpha01
15 września 2021 r.
Usługa androidx.recyclerview:recyclerview:1.3.0-alpha01
została zwolniona. Wersja 1.3.0-alfa01 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano obsługę rozciągania Overscroll RecyclerView. (IAb877)
RecyclerView-Selection w wersji 1.2.0
Wersja 1.2.0-alpha01
5 maja 2021 roku
Usługa androidx.recyclerview:recyclerview-selection:1.2.0-alpha01
została zwolniona. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono błąd, który powodował utratę mapowania klucza i pozycji w komponencie KeyProvider, gdy wpis nie został jeszcze użyty ponownie. (B/145767095)
Wersja 1.2.1
Wersja 1.2.1
2 czerwca 2021 r.
Usługa androidx.recyclerview:recyclerview:1.2.1
została zwolniona. Wersja 1.2.1 zawiera te zatwierdzenia.
Poprawki błędów
- Elementy
ViewHolder
wewnątrz elementuConcatAdapter
zwracają teraz prawidłowe położenie adaptera po wysłaniu zapytania w wywołaniu zwrotnymonViewRecycled
. (b/187339376)
Wersja 1.2.0
Wersja 1.2.0
7 kwietnia 2021 r.
Usługa androidx.recyclerview:recyclerview:1.2.0
została zwolniona. Wersja 1.2.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.1.0
ConcatAdapter: nowy przejściówka pozwala łatwo połączyć kilka adapterów w tym samym obiekcie RecyclerView. Więcej informacji znajdziesz w tym poście na blogu.
- W ramach tej zmiany wycofaliśmy metodę
ViewHolder.getAdapterPosition
i zastąpiliśmy ją 2 nowymi metodami:- .
- getBindingAdapterPosition zwraca pozycję względem adaptera, z którym powiązany jest ten element.
- Metoda getTotalAdapterPosition zwraca pozycję względną w odniesieniu do całego obiektu RecyclerView.
Leniwe przywracanie stanu: adapter RecyclerView może teraz opóźniać przywrócenie stanu do czasu załadowania jego zawartości. Więcej informacji znajdziesz w dokumentacji.
Wersja 1.2.0-rc01
24 marca 2021 r.
Usługa androidx.recyclerview:recyclerview:1.2.0-rc01
została zwolniona. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Parametr
ConcatAdapter.Config.Builder
ma teraz wartości domyślne zgodne z wartościąConfig.DEFAULT
(b/157169835)
Wersja 1.2.0-beta02
24 lutego 2021 r.
Usługa androidx.recyclerview:recyclerview:1.2.0-beta02
została zwolniona. Wersja 1.2.0-beta02 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem polegający na tym, że dopełnienie u góry powodowało, że prawe dopełnienie przesuwało się w górę do obszaru wyściełanego, a nie w dół, aby uwzględnić dopełnienie. (I6b61d, b/118399122)
Wersja 1.2.0-beta01
Grudzień 2, 2020
Wersja androidx.recyclerview:recyclerview:1.2.0-beta01
została udostępniona bez zmian od 1.2.0-alpha06
. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.
Wersja 1.2.0-alpha06
1 października 2020 roku
Usługa androidx.recyclerview:recyclerview:1.2.0-alpha06
została zwolniona. Wersja 1.2.0-alfa06 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano obsługę dodawania wielu obiektów RecyclerListeners. (I70ad8, b/145767095)
Zmiany interfejsu API
- Wycofano RecyclerView.setRecyclerListener(RecyclerListener). (I70ad8, b/145767095)
Wersja 1.2.0-alpha05
22 lipca 2020 r.
Usługa androidx.recyclerview:recyclerview:1.2.0-alpha05
została zwolniona. Wersja 1.2.0-alfa05 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem polegający na tym, że jeśli obiekt RecyclerView zawiera tylko jeden element, który jest zaznaczony, zaznaczenie do przodu lub do tyłu nie powoduje przeniesienia zaznaczenia. (6f36b3)
- Naprawiono
ArrayIndexOutOfBoundsException
wStaggeredGridLayoutManager
(49b601, b/122303625, b/74877618, b/160193663, b/37086625) - Usunęliśmy błąd pomiaru polegający na tym, że w pewnych okolicznościach funkcja RecyclerView nie była wyświetlana dzieciom. (89040c, b/138734786)
Treści tłumaczone z zewnątrz
- Dziękujemy Kolinowi Krewinkel w imieniu Facebooka za darowiznę.
Wersja 1.2.0-alfa04
24 czerwca 2020 r.
Usługa androidx.recyclerview:recyclerview:1.2.0-alpha04
została zwolniona. Wersja 1.2.0-alfa04 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Nazwa usługi
MergeAdapter
została zmieniona naConcatAdapter
, aby uniknąć nieporozumień związanych z różnymi sposobami scalania danych (c0540c, b/158019211).
Poprawki błędów
- Udoskonalenia automatycznego przewijania po usunięciu wszystkich widocznych elementów (fe8670, b/154124815)
Wersja 1.2.0-alfa03
29 kwietnia 2020 roku
Usługa androidx.recyclerview:recyclerview:1.2.0-alpha03
została zwolniona. Wersja 1.2.0-alfa03 zawiera te zatwierdzenia.
Nowe funkcje
- RecyclerView zawiera teraz metodę
nestedScrollBy
, która umożliwia automatyczne przewijanie współpracujące z zagnieżdżonym przewijaniem: (Ibaa58)
Wersja 1.2.0-alfa02
Kwiecień 1, 2020
Usługa androidx.recyclerview:recyclerview:1.2.0-alpha02
została zwolniona. Wersja 1.2.0-alfa02 zawiera te zatwierdzenia.
Ta i wyższe wersje komponentu RecyclerView nie są zgodne z starszymi wersjami komponentu ViewPager2. Jeśli używasz obecnie wersji androidx.viewpager2:viewpager2:1.0.0
lub niższej, zaktualizuj system do wersji androidx.viewpager2:viewpager2:1.1.0-alpha01
.
Nowe funkcje
MergeAdapter
- MergeAdapter: nowy Adapter RecyclerView, który może łączyć wiele adapterów liniowo.
MyAdapter adapter1 = ...; AnotherAdapter adapter2 = ...; MergeAdapter merged = new MergeAdapter(adapter1, adapter2); recyclerView.setAdapter(mergedAdapter);
W przypadku powyższego przykładu MergeAdapter wyświetli elementy z zakresu
adapter1
, a następnieadapter2
.Przywracanie leniwego stanu w aplikacji
RecyclerView.Adapter
:Do klasy
RecyclerView.Adapter
dodano nowy interfejs API, który pozwala Adapterowi kontrolować, kiedy należy przywrócić stan układu.Możesz na przykład zadzwonić pod ten numer:
myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
spowoduje, że funkcja RecyclerView będzie czekać, aż karta Adapter będzie pusta, zanim przywrócimy pozycję przewijania.
CollectionInfo i CollectionItemInfo nie będą już domyślnie wypełniane.
Jeśli chcesz, aby usługi ułatwień dostępu (na przykład Talkback) nadal pokazywały użytkownikowi liczbę i indeks elementów, musisz samodzielnie wypełnić pola CollectionInfo i CollectionItemInfo.
Te obiekty nie są już wypełniane w ramach platformy, ponieważ nie może ona określić liczby elementów postrzeganych przez użytkownika (na przykład separatorów, nagłówków czy elementów RecyclerView, które reprezentują wiele postrzeganych elementów).
Poprawki błędów
- Element RecyclerView nie pozwala teraz na zakotwiczenie widoków poza widocznym obszarem, gdy zmienił się rozmiar widocznego obszaru.
- Naprawiono błąd w DiffUtil, który mógł nieprawidłowo obliczać różnice, gdy oryginalny element na pierwszej liście jest wielokrotnie duplikowany na drugiej liście. (b/123376278)
Wersja 1.2.0-alpha01
18 grudnia 2019 r.
Usługa androidx.recyclerview:recyclerview:1.2.0-alpha01
została zwolniona. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.
Poprawki błędów.
- Rozwiązaliśmy drobne problemy z funkcją Fast Scroller związane z dokładnością rysowania i dotyku w formacie RTL (b/143789932, aosp/1130438).
- Rozwiązaliśmy problem, który powodował awarię elementu ItemTouchHelper po usunięciu go z RecyclerView podczas wykonywania animacji ItemTouchHelper (b/140447176, aosp/1167575).
Wersja 1.1.0
Wersja 1.1.0
20 listopada 2019 r.
Usługa androidx.recyclerview:recyclerview:1.1.0
została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany wprowadzone od wersji 1.0.0
PagerSnapHelper
iLinearSnapHelper
uwzględniają teraz dopełnienie RecyclerView niezależnie od wartościclipToPadding
(b/139452422, b/139012032, aosp/1103182, aosp/1106715, aosp/1130728- Funkcja
RecyclerView.setLayoutTransition(LayoutTransition)
została oficjalnie wycofana i po wywołaniu z wartością inną niż null zwraca parametrIllegalArgumentException
. Użyj w zamian zasadyRecyclerView.setItemAnimator(ItemAnimator)
. (Aosp/839414) - aosp/723649: funkcja RecyclerView korzysta teraz z tabeli
NestedScrollingChild3
, która umożliwia otrzymywanie informacji o tym, kiedy wszystkie elementy nadrzędne w zagnieżdżonych przewijaniu przestały używać zagnieżdżonych odległości podczas przewijania. Jeśli kod programisty zastępuje obecnie kodRecyclerView.onNestedScroll(View, int, int, int, int, int)
, prawdopodobnie nie będzie już wywoływany. Zamiast niego należy zastąpić kodRecyclerView.onNestedScroll(View, int, int, int, int, int, int[])
. - Element RecyclerView ma teraz domyślny atrybut stylu:
recyclerViewStyle
, który umożliwia ustawienie domyślnego stylu w motywie. - Interfejs API działań ułatwień dostępu ViewCompat nie powoduje już uszkodzenia obiektu RecyclerView ItemDelegate.
- Pole
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])
można zastąpić, aby dostosować ilość dodatkowego miejsca na układ po każdej stronie powiązanego obiektu RecyclerView. (Aosp/931259) - Dodaliśmy nowe przeciążenie smooth ScrollBy:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)
, które umożliwia określenie w milisekundach czasu trwania animacji. (Aosp/952807)
Wersja 1.1.0-rc01
23 października 2019 r.
Usługa androidx.recyclerview:recyclerview:1.1.0-rc01
została zwolniona. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów.
- Usunięto błąd „Aplikacja nie odpowiada” podczas zastępowania parametru
RecyclerViewAccessibilityDelegate.ItemDelegate
(aosp/1138057, aosp/1133434).
Wersja 1.1.0-beta05
9 października 2019 r.
Usługa androidx.recyclerview:recyclerview:1.1.0-beta05
została zwolniona. Wersja 1.1.0-beta05 zawiera te zatwierdzenia.
Zmiany interfejsu API
- Nawiązując do zdarzeń aosp/1106715 i aosp/1103182, LinearSnapHelper i PagerSnapHelper będą teraz zwracać widok, który znajduje się w środku granic obiektu RecyclerView, pomniejszony o dopełnienie, mimo wartości ClipToPadding. (Aosp/1130728)
Poprawki błędów.
- Rozwiązaliśmy problem, który powodował, że element RecyclerView generował zduplikowane węzły ułatwień dostępu dla elementów podrzędnych obiektu RecyclerView. (Aosp/1130618).
- Rozwiązaliśmy problem, który powodował, że nie działały wirtualne hierarchie ułatwień dostępu w RecyclerView.
- Rozwiązaliśmy problem, który powodował, że nie używano niestandardowych identyfikatorów elementu ItemDelegates.
Wersja 1.1.0-beta04
5 września 2019 r.
Usługa androidx.recyclerview:recyclerview:1.1.0-beta04
została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Poprawki błędów.
PagerSnapHelper
iLinearSnapHelper
uwzględniają teraz dopełnienie RecyclerView niezależnie od wartościclipToPadding
(b/139452422, b/139012032, aosp/1103182, aosp/1106715)- Naprawiono błąd, który powodował, że funkcja RecyclerView nie blokowała przechwycenia dotykowej, gdy zagnieżdżone przewijanie wstępujące powodowało przewijanie elementu
NestedScrollingParent
(b/138668210, aosp/1105373). Przydaje się to takim bibliotekom jak ViewPager2. - Funkcja RecyclerView teraz konsekwentnie przechodzi do
SCROLL_STATE_DRAGGING
przed wysłaniem zagnieżdżonych wstępnych przewijania (aosp/1105373) - Zagnieżdżone wstępne przewijanie nie jest już wykonywane, jeśli gest przekroczy uskok (b/139530818, aosp/1105373)
- Argumenty
dx
idy
wysyłane do zagnieżdżonych filmów przed przewijaniem są wyzerowane, gdy RecyclerView nie może przewinąć zawartości w tym kierunku (aosp/1105373).
Wersja 1.1.0-beta03
15 sierpnia 2019 r.
Usługa androidx.recyclerview:recyclerview:1.1.0-beta03
została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Zmiany interfejsu API
- Funkcja RecyclerView teraz wysyła informacje o odległościach przewijania przy użyciu interfejsu
View.onScrollChanged(int l, int t, int oldl, int oldt)
, dzięki czemu usługi ułatwień dostępu są dokładnie powiadamiane o zmianach przewijania. (Aosp/1007823)
Poprawki błędów.
- Usunęliśmy poważny błąd związany z nadmiarem stosu błędów w RecyclerView i ułatwieniach dostępu. (Aosp/1099577)
Wersja 1.1.0-beta02
7 sierpnia 2019 r.
Usługa androidx.recyclerview:recyclerview:1.1.0-beta02
została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Nowe funkcje
- Element RecyclerView ma teraz domyślny atrybut stylu:
recyclerViewStyle
, który umożliwia ustawienie domyślnego stylu w motywie.
Poprawki błędów.
- Naprawiono błąd, który powodował, że funkcja RecyclerView nie zabraniała przechwytywania ekranu podczas przewijania, co powodowało przewijanie przez element Nested ScrollingParent. (b/131115697, Aosp/1055911)
Wersja 1.1.0-beta01
2 lipca 2019 r.
Usługa androidx.recyclerview:recyclerview:1.1.0-beta01
została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Nowe funkcje
- Funkcja
RecyclerView
uczestniczy teraz w przewijaniu zagnieżdżonym, gdy przewijanie jest inicjowane przez zdarzenia ułatwień dostępu. (Aosp/973584)
Wersja 1.1.0-alpha06
5 czerwca 2019 r.
androidx.recyclerview:recyclerview:1.1.0-alpha06
i androidx.recyclerview:recyclerview-selection:1.1.0-alpha06
zostały udostępnione. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Nowe funkcje
- Dodaliśmy nowe przeciążenie smooth ScrollBy:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)
, które umożliwia określenie w milisekundach czasu trwania animacji. (Aosp/952807)
Zmiany interfejsu API
GridLayoutManager
iStaggeredGridLayoutManager
nie oznaczają już automatycznie etykiet z pełnym spanm jako nagłówków na potrzeby ułatwień dostępu (aosp/969703)- Zachowaj kolejność wyboru (według czasu utworzenia) w
recyclerview-selection
(aosp/937279)
Poprawki błędów.
- Naprawiliśmy błąd, który powodował, że funkcja
RecyclerView
przesuwała z nieprawidłową prędkością podczas zagnieżdżonego przewijania. (Aosp/961642) - Dodano ulepszenia stabilności do:
recyclerview-selection
(aosp/960213, aosp/926296)
Wersja 1.1.0-alpha05
7 maja 2019 r.
androidx.recyclerview:recyclerview:1.1.0-alpha05
i androidx.recyclerview:recyclerview-selection:1.1.0-alpha05
zostały udostępnione. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Nowe funkcje
- Pole
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])
można zastąpić, aby dostosować ilość dodatkowego miejsca na układ po każdej stronie powiązanego obiektu RecyclerView. (Aosp/931259)
Zmiany interfejsu API
- Dodaj interfejs API, aby pobrać obiekt rysowalny
DividerItemDecoration
(aosp/937282) - Zastąp interfejs
LinearLayout.getExtraLayoutSpace(RecyclerVew.State)
nowym mechanizmem, który umożliwia korzystanie z niestandardowego miejsca na układ po obu stronach. Nowa metoda toLinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[])
(aosp/931259)
Poprawki błędów.
- Wyczyszczono zaznaczenie gestów (aosp/940781)
- Zachowaj kolejność wyboru (według czasu utworzenia) (b/128455535)
Wersja 1.1.0-alfa04
3 kwietnia 2019 r.
Usługa androidx.recyclerview:recyclerview:1.1.0-alpha04
została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Poprawki błędów.
- Mechanizm RV OnItemTouchListener nie mógł wcześniej przechwycić funkcji ACTION_UP, przez co usługa OnItemTouchListener nie mogła zablokować innego kodu odpowiedzi na polecenie ACTION_UP. Ten problem został już rozwiązany: (aosp/916137)
Wersja 1.1.0-alfa03
13 marca 2019 r.
Usługa androidx.recyclerview:recyclerview:1.1.0-alpha03
została zwolniona. Pełną listę zatwierdzeń zawartych w tej wersji znajdziesz tutaj.
Nowe funkcje
GridLayoutManager
: włącz, szacowanie wymiarów paska przewijaniaGridLayoutManager
w wyższej rozdzielczości (aosp/838836):- .
- Używa informacji o spanach do oszacowania wymiarów paska przewijania w przypadku elementu
GridLayoutManager
. - Aby je włączyć, wywołaj funkcję
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)
z wartością „true”. - Więcej informacji znajdziesz w dokumentacji dotyczącej
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)
.
- Używa informacji o spanach do oszacowania wymiarów paska przewijania w przypadku elementu
Poprawki błędów.
- Ułatwienia dostępu: wystąpił błąd polegający na tym, że po ponownym przetworzeniu obiektu ViewHolder obiekt ItemDelegate powiązany z obiektem
RecyclerViewAccessibilityDelegate
RecyclerView nie był powiązany z obiektem itemView obiektu ViewHolder, co naruszało ułatwienia dostępu. Ten problem został już rozwiązany (aosp/917740).
Wersja 1.1.0-alfa02
30 stycznia 2019 r.
Usługa androidx.recyclerview:recyclerview 1.1.0-alpha02
została zwolniona.
Zmiany interfejsu API
- Reguły
RecyclerView.setLayoutFrozen(boolean)
iRecyclerView.isLayoutFrozen()
zostały wycofane i zastąpione ustawieniamiRecyclerView.suppressLayout(boolean)
orazRecyclerView.isLayoutSuppressed()
. (Aosp/839414) - Funkcja
RecyclerView.setLayoutTransition(LayoutTransition)
została oficjalnie wycofana i po wywołaniu z wartością inną niż null zwraca parametrIllegalArgumentException
. (Aosp/839414)
Poprawki błędów.
- Napraw błąd w kamperze, w którym funkcja
SmoothScroller
nigdy się nie zatrzymuje (aosp/843741) - Usunięto błąd, przez który nie można było wywołać funkcji
SCROLL_STATE_IDLE
na końcu przewijanej animacji. (Aosp/812576)
Wersja 1.1.0-alpha01
3 grudnia 2018 r.
androidx.recyclerview 1.1.0-alpha01
i androidx.recyclerview-selection 1.1.0-alpha01
zostały udostępnione.
androidx.recyclerview 1.1.0-alfa01
Zmiany interfejsu API
- aosp/723649: funkcja RecyclerView korzysta teraz z tabeli
NestedScrollingChild3
, która umożliwia otrzymywanie informacji o tym, kiedy wszystkie elementy nadrzędne w zagnieżdżonych przewijaniu przestały używać zagnieżdżonych odległości podczas przewijania. Jeśli kod programisty zastępuje obecnie kodRecyclerView.onNestedScroll(View, int, int, int, int, int)
, prawdopodobnie nie będzie już wywoływany. Zamiast niego należy zastąpić kodRecyclerView.onNestedScroll(View, int, int, int, int, int, int[])
.
Poprawki błędów.
- Naprawiono błąd, który powodował awarię przy użyciu funkcji
TransitionManager
do zwijania/rozwijania elementu wRecyclerView
(b/37129527). - Naprawiono błąd, przez który zachowanie
RecyclerView.OnItemTouchListener
było niespójne z działaniemonInterceptTouchEvent
ionTouchEvent
w systemie widoku danych (aosp/721235). - Poprawiliśmy kilka błędów dotyczących wielkości liter związanych z płynnym przewijaniem (aosp/729718, aosp/747168, aosp/812576).
- Usunięto strategię przyciągania w usłudze
PagerSnapHelper
, aby radzić sobie z nietypowymi wyświetleniami podrzędnymi (aosp/795752)
androidx.recyclerview-selection 1.1.0-alfa01
Poprawki błędów.
- Naprawiono
ConcurrentModificationException
po zmianie zbioru danych poprzez usunięcie wyboru.
RecyclerView-Selection w wersji 1.1.0
RecyclerView-Selection w wersji 1.1.0
27 stycznia 2021 r.
Usługa androidx.recyclerview:recyclerview-selection:1.1.0
została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.0.0
- Liczne ulepszenia stabilności.
- Wycofano metody
withGestureTooltypes
iwithPointerTooltypes
w:SelectionTracker.Builder
. Zostaną one usunięte w przyszłej wersji.
RecyclerView-Selection w wersji 1.1.0-rc03
1 października 2020 roku
Usługa androidx.recyclerview:recyclerview-selection:1.1.0-rc03
została zwolniona. Wersja 1.1.0-rc03 zawiera te zatwierdzenia.
Poprawki błędów
Dziękujemy Stefanowi Kieslerowi za testowanie poprawek i opinie.
- Rozwiązaliśmy problem polegający na tym, że podczas aktywnego wyboru użytkownik był nieoczekiwanie wywoływany OnClickListeners widoku podrzędnego.
- Moduł obsługi myszy (wybór pasma) > Obchodź się z nieoczekiwanymi przewijaniem. (B/167821507)
RecyclerView-Selection w wersji 1.1.0-rc02
Wrzesień 2, 2020
Usługa androidx.recyclerview:recyclerview-selection:1.1.0-rc02
została zwolniona. Wersja 1.1.0-rc02 zawiera te zatwierdzenia.
Najważniejsze dane
- Wprowadzono kilka regresji występujących od wersji 1.0 w zakresie obsługi danych wejściowych.
- Zaktualizowaliśmy bibliotekę, aby uwzględnić
onRequestDisallowInterceptTouchEvent
– teraz może dobrze współpracować z narzędziem ItemTouchHelper (po prostu przesuń ją poza ekran).
Poprawki błędów
- Rozwiązanie problemu z błędną interpretacją zdarzeń
GestureDetector
przez bibliotekę wyboru, co skutkowało utratą kliknięć podczas aktywnego wyboru (b/165030422) - Rozwiązaliśmy problem, który powodował, że wybór nie był aktualizowany, aby odzwierciedlić elementy usunięte z adaptera. (b/138932671)
- Rozwiązaliśmy problem polegający na tym, że elementy RecyclerView uruchamiały zdarzenia onClick, gdy zaznaczone jest aktywne zaznaczenie (b/161162268)
- Teraz obsługuje poprawnie
onRequestDisallowInterceptTouchEvent
- Rozwiązanie problemu polegającego na tym, że podczas przewijania za pomocą myszy mógł pojawiać się element
”Cannot call this method in a scroll callback”
. - Zaktualizowano dokumentację (szczególnie w języku:
StableIdKeyProvider
), aby wyraźnie określić wymagania dotyczące instancji RecyclerView
Recyclerview-Selection w wersji 1.1.0-rc01
5 lutego 2020 r.
Usługa androidx.recyclerview:recyclerview-selection:1.1.0-rc01
została zwolniona. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów.
- Rozwiązaliśmy problem, który powodował, że podczas przewijania widoku RecyclerView za pomocą gestów trudno było go znaleźć, jeśli wchodzi on w interakcję z przewijanym układem interfejsu AppBarLayout (aosp/1193934).
RecyclerView-Selection w wersji 1.1.0-beta01
4 grudnia 2019
Usługa androidx.recyclerview:recyclerview-selection:1.1.0-beta01
została zwolniona. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.
Ogólne ulepszenia stabilności związane z kontrolami obronnymi i zarządzaniem państwem wewnętrznym.
Poprawki błędów.
- Usprawnione zarządzanie stanem biblioteki i interpretacja zdarzeń CANCEL, co poprawia stabilność.
Zmiany interfejsu API
- Do klas i metod, w których brakuje parametru, dodano parametr typu klucza wyboru.
- Wycofane metody:
- SelectionTracker.Builder#withPointerTooltype
- SelectionTracker.Builder#withGestyTooltype
- Metody te istniały, aby deweloperzy mogli zmapować zachowania wskaźnika lub gestów na typy narzędzi inne niż domyślne*. Zamiar był dobry, ale po dalszej części staje się jasne, że oczekiwania użytkowników związane z działaniami związanymi z wprowadzaniem danych są bardzo ściśle określone dla typu narzędzia. również „pasywne”; stylei to typ narzędzia FINGER, jeśli chodzi o system wprowadzania danych Androida.
- Domyślne typy narzędzi to FINGER w przypadku gestów i MOUSE w przypadku wskaźnika.