Recyclerview
این جدول تمام مصنوعات موجود در گروه androidx.recyclerview
را فهرست می کند.
مصنوع | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
---|---|---|---|---|
recyclerview | 1.3.2 | 1.4.0-rc01 | - | - |
recyclerview-selection | 1.1.0 | - | - | 1.2.0-alpha01 |
اعلام وابستگی ها
برای افزودن وابستگی به RecyclerView، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.
وابستگیهای مصنوعات مورد نیاز خود را در فایل build.gradle
برای برنامه یا ماژول خود اضافه کنید:
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") }
برای اطلاعات بیشتر درباره وابستگیها، به افزودن وابستگیهای ساخت نگاه کنید.
بازخورد
بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه 1.4
نسخه 1.4.0-rc01
18 سپتامبر 2024
androidx.recyclerview:recyclerview:1.4.0-rc01
منتشر شد، بدون تغییر از 1.4.0-alpha02 /. نسخه 1.4.0-rc01 حاوی این commit ها است.
تغییرات از 1.3.2
نکته سازگاری : این نسخه فقط با API 35 (بستنی وانیلی) SDK یا بالاتر کامپایل می شود. اگر هنگام ارتقاء اخطارهای AGP (Android Gradle Plugin) را مشاهده کردید، می توانید آنها را سرکوب کنید.
ویژگی های جدید
- پشتیبانی از نرخ نوسازی متغیر:
RecyclerView
اکنونsetFrameContentVelocity
هنگامی که از طریقOverScroller
در حال پیمایش است (مانند ته نشین شدن از یک فلش یا اسکرول صاف) فراخوانی می کند. ( I8f8a4 )
تغییرات API
-
RecyclerView$LayoutManager#isLayoutReversed
API را اضافه کنید. ( I4970e )
تغییرات دیگر
- طرح دستی دسترسی به APIهای پلتفرم جدید حذف شد زیرا این به طور خودکار از طریق مدلسازی API هنگام استفاده از R8 با AGP 7.3 یا جدیدتر (مثلا R8 نسخه 3.3) و برای همه ساختها هنگام استفاده از AGP 8.1 یا بالاتر (به عنوان مثال D8 نسخه 8.1) اتفاق میافتد. به مشتریانی که از AGP استفاده نمیکنند، توصیه میشود به نسخه 8.1 یا بالاتر D8 بهروزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( Ia60e0 , b/345472586 )
- نوع نمای آیتم را به
RecyclerView
bind/create بخش های ردیابی اضافه کنید، و اگر انتظار می رود در فریم بعدی مورد استفاده قرار گیرد، پیش واکشی های RV را به عنوان "فریم بعدی اجباری - مورد نیاز" برچسب بزنید، و بنابراین باید در اسرع وقت کار را شروع کنید. ( I8ec3e , b/309523615 ) -
compileSdk
به 35 به روز کنید (برای جزئیات به "یادداشت سازگاری" در بالا مراجعه کنید). 5dc41be
نسخه 1.4.0-beta01
21 آگوست 2024
androidx.recyclerview:recyclerview:1.4.0-beta01
منتشر شد، بدون تغییر از 1.4.0-alpha02 . نسخه 1.4.0-beta01 حاوی این تعهدات است.
نکته سازگاری : این نسخه فقط با API 35 (بستنی وانیلی) SDK یا بالاتر کامپایل می شود. اگر هنگام ارتقاء اخطارهای AGP (Android Gradle Plugin) را مشاهده کردید، می توانید آنها را سرکوب کنید.
نسخه 1.4.0-alpha02
7 آگوست 2024
androidx.recyclerview:recyclerview:1.4.0-alpha02
منتشر شد. نسخه 1.4.0-alpha02 حاوی این تعهدات است.
نکته سازگاری : این نسخه فقط با API 35 (بستنی وانیلی) SDK یا بالاتر کامپایل می شود. اگر هنگام ارتقاء اخطارهای AGP (Android Gradle Plugin) را مشاهده کردید، می توانید آنها را سرکوب کنید.
ویژگی های جدید
- پشتیبانی از نرخ نوسازی متغیر: RecyclerView اکنون
setFrameContentVelocity
هنگامی که از طریق OverScroller در حال پیمایش است (مانند ته نشین شدن از یک فلش یا اسکرول صاف) فراخوانی می کند. ( I8f8a4 )
تغییرات API
- APIهای
ViewCompat.LAYOUT_DIRECTION_
منسوخ شده ( I51710 , b/317055535 ) -
RecyclerView$LayoutManager#isLayoutReversed
API را اضافه کنید. ( I4970e )
تغییرات دیگر
- طرح دستی دسترسی به APIهای پلتفرم جدید حذف شد زیرا این به طور خودکار از طریق مدلسازی API هنگام استفاده از R8 با AGP 7.3 یا جدیدتر (مثلا R8 نسخه 3.3) و برای همه ساختها هنگام استفاده از AGP 8.1 یا بالاتر (به عنوان مثال D8 نسخه 8.1) اتفاق میافتد. به مشتریانی که از AGP استفاده نمیکنند، توصیه میشود به نسخه 8.1 یا بالاتر D8 بهروزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( Ia60e0 , b/345472586 )
- نوع نمای آیتم را به
RecyclerView
bind/create بخش های ردیابی اضافه کنید، و اگر انتظار می رود در فریم بعدی مورد استفاده قرار گیرد، پیش واکشی های RV را به عنوان "فریم بعدی اجباری - مورد نیاز" برچسب بزنید، و بنابراین باید در اسرع وقت کار را شروع کنید. ( I8ec3e , b/309523615 ) -
compileSdk
به 35 به روز کنید (برای جزئیات به "یادداشت سازگاری" در بالا مراجعه کنید). 5dc41be
مشارکت خارجی
-
GestureDetectorCompat
اکنون منسوخ شده است زیراGestureDetector
ازminSdk
در دسترس است. ( ICC4cd )
نسخه 1.4.0-alpha01
18 اکتبر 2023
androidx.recyclerview:recyclerview:1.4.0-alpha01
منتشر شد. نسخه 1.4.0-alpha01 حاوی این commit ها است.
تغییرات API
-
RecyclerView$LayoutManager#isLayoutReversed
API را اضافه کنید. ( I4970e )
رفع اشکال
- رفع اشکالی که باعث خرابی های پراکنده در طول انیمیشن ها می شود ( I42f22b ) (همچنین در 1.3.2 موجود است)
نسخه 1.3.2
نسخه 1.3.2
18 اکتبر 2023
androidx.recyclerview:recyclerview:1.3.2
منتشر شد. نسخه 1.3.2 حاوی این commit ها است.
رفع اشکال
- رفع اشکالی که باعث خرابی های پراکنده در طول انیمیشن ها می شود. ( I42f22b )
نسخه 1.3.1
نسخه 1.3.1
26 جولای 2023
androidx.recyclerview:recyclerview:1.3.1
منتشر شد، بدون تغییر از 1.3.1-rc01. نسخه 1.3.1 حاوی این commit ها است.
برای یادداشتهای انتشار نسخه قبلی، به صفحه یادداشتهای انتشار ما مراجعه کنید
نسخه 1.3.1-rc01
24 مه 2023
androidx.recyclerview:recyclerview:1.3.1-rc01
منتشر شد. نسخه 1.3.1-rc01 حاوی این commit ها است.
کاربران ViewPager2 هنگام بهروزرسانی به این نسخه از RecyclerView
باید حداقل به نسخه 1.1.0-beta02 بهروزرسانی شوند تا از خرابی جلوگیری کنند.
تغییرات API
- روشهای جدید
setDebugAssertionsEnabled
وsetVerboseLoggingEnabled
را اضافه کنید که میتوانند به اشکالزدایی مسائل مربوط بهRecyclerView
در برنامهها کمک کنند. ( I514b9 )
رفع اشکال
- خرابی های کاربران
ViewTreeLifecycleOwner
(از جملهComposeView
) را با پیوست کردن مجدد موقت نماهای موقتاً جدا شده هنگام تماسonBind
برطرف کنید. ( I7244f2c , b/265347515 , b/283288295 )
نسخه 1.3.0
نسخه 1.3.0
8 مارس 2023
androidx.recyclerview:recyclerview:1.3.0
منتشر شد، بدون تغییر از 1.3.0-rc01. نسخه 1.3.0 حاوی این commit ها است.
تغییرات مهم از 1.2.0
- این نسخه دارای بهبودهای عملکردی است (که قبلاً در نسخههای 1.3.0-alpha02 و 1.3.0-beta01 گنجانده شده بود) هنگام استفاده با Jetpack Compose. اگر از Compose
1.2.0-beta02
یا بالاتر استفاده میکنید و ازMyComposeAdapter
وDisposeOnViewTreeLifecycleDestroyed
ViewCompositionStrategy
که در دستورالعملهای همکاری قبلی توضیح داده شده است، استفاده میکنید، باید این موارد را حذف کنید ، زیرا دیگر بهبودی نسبت به حالت پیشفرض نیستند. - روش جدید
ConcatAdapter.getWrappedAdapterAndPosition
اضافه شده است تا امکان بازیابی اطلاعات آداپتور پیچیده شده را در شرایطی کهViewHolder
ندارید، مانندSpanSizeLookup
( I2bd4c , b/191543920 ) اضافه شده است.
نسخه 1.3.0-rc01
21 سپتامبر 2022
androidx.recyclerview:recyclerview:1.3.0-rc01
منتشر شد. نسخه 1.3.0-rc01 حاوی این commit ها است.
- هیچ تغییری از آخرین نسخه منتشر نشده است
نسخه 1.3.0-beta02
10 آگوست 2022
androidx.recyclerview:recyclerview:1.3.0-beta02
منتشر شد. نسخه 1.3.0-beta02 حاوی این تعهدات است.
تغییرات API
- حاشیهنویسیهای پوچپذیری حذف شده اضافه شده در 1.3.0-beta01 به دلیل این واقعیت که نشاندهنده یک تغییر قابل توجه ناسازگار با منبع برای کاربران Kotlin هستند ( I7a258 ، I1557e6 ، I8db76 )
نسخه 1.3.0-beta01
29 ژوئن 2022
androidx.recyclerview:recyclerview:1.3.0-beta01
منتشر شد. نسخه 1.3.0-beta01 حاوی این تعهدات است.
ویژگی های جدید
- این نسخه بتا شامل بهبودهای عملکردی است (که قبلاً در نسخه 1.3.0-alpha02 در هنگام استفاده با Jetpack Compose استفاده میشد. اگر از Compose
1.2.0-beta02
یا بالاتر استفاده میکنید و ازMyComposeAdapter
وDisposeOnViewTreeLifecycleDestroyed
ViewCompositionStrategy
استفاده میکنید، باید در دستورالعملهای تعامل قبلی توضیح داده شده باشد. اینها را حذف کنید ، زیرا دیگر بهبودی نسبت به حالت پیش فرض ندارند.
تغییرات API
- حاشیهنویسیهای پوچپذیری برای تعدادی از روشها و پارامترها برای بهبود هشدارهای پرز برای کاربران جاوا و قابلیت همکاری برای کاربران Kotlin اضافه شده است. این ممکن است برای برخی از کاربران Kotlin یک تغییر منبع شکن باشد و منجر به هشدار/خطاهای پرز اضافی برای برخی از کاربران جاوا شود. ( I61829 , b/236487044 ; Ia0b6f ; I6f119 , b/236487209 ; Ibe1de , b/236487210 )
رفع اشکال
- با تنظیم نام کلاس اطلاعات گره a11y، اطمینان حاصل کنید که شبکه ها توسط سرویس های a11y به عنوان شبکه در نظر گرفته می شوند. ( I12812 )
نسخه 1.3.0-alpha02
6 آوریل 2022
androidx.recyclerview:recyclerview:1.3.0-alpha02
منتشر شد. نسخه 1.3.0-alpha02 حاوی این commit ها است.
تغییرات API
- روش های آزمایشی
BuildCompat
را برای SDK های آینده اضافه می کند ( Iafd82 , b/207528937 ) - روش جدید
ConcatAdapter.getWrappedAdapterAndPosition
اضافه شده است تا امکان بازیابی اطلاعات آداپتور پیچیده شده را در شرایطی که ViewHolder ندارید، مانندSpanSizeLookup
( I2bd4c ، b/191543920 ) اضافه شده است.
رفع اشکال
- ادغام با کتابخانه جدید AndroidX PoolingContainer ( Ib89d2 )
- فاصله پیمایش را برای عملکرد دسترسپذیری تنظیم میکند ( If74ae )
نسخه 1.3.0-alpha01
15 سپتامبر 2021
androidx.recyclerview:recyclerview:1.3.0-alpha01
منتشر شد. نسخه 1.3.0-alpha01 حاوی این commit ها است.
ویژگی های جدید
- پشتیبانی از کشش Overscroll RecyclerView اضافه شده است. ( Iab877 )
RecyclerView-Selection نسخه 1.2.0
نسخه 1.2.0-alpha01
5 مه 2021
androidx.recyclerview:recyclerview-selection:1.2.0-alpha01
منتشر شد. نسخه 1.2.0-alpha01 حاوی این commit ها است.
رفع اشکال
- مشکلی را برطرف کنید که در آن نگاشت کلید/موقعیت در KeyProvider از بین رفته است در حالی که ورودی هنوز بازیافت نشده است. ( b/145767095 )
نسخه 1.2.1
نسخه 1.2.1
2 ژوئن 2021
androidx.recyclerview:recyclerview:1.2.1
منتشر شد. نسخه 1.2.1 حاوی این commit ها است.
رفع اشکال
-
ViewHolder
در داخل یکConcatAdapter
اکنون موقعیت صحیح آداپتور را هنگام درخواست در پاسخ به تماسonViewRecycled
برمیگرداند. ( b/187339376 )
نسخه 1.2.0
نسخه 1.2.0
7 آوریل 2021
androidx.recyclerview:recyclerview:1.2.0
منتشر شد. نسخه 1.2.0 حاوی این commit ها است.
تغییرات عمده از 1.1.0
ConcatAdapter : این آداپتور جدید به شما اجازه می دهد تا به راحتی چندین آداپتور را در همان RecyclerView به هم متصل کنید. برای اطلاعات بیشتر به پست وبلاگ مراجعه کنید.
- به عنوان بخشی از این تغییر،
ViewHolder.getAdapterPosition
منسوخ شده و با دو روش جدید جایگزین شده است:- getBindingAdapterPosition موقعیت را نسبت به آداپتوری که آن آیتم را محدود کرده است، برمیگرداند.
- getAbsoluteAdapterPosition موقعیت را نسبت به کل RecyclerView برمی گرداند.
بازیابی حالت تنبل : آداپتور RecyclerView اکنون می تواند بازیابی حالت را تا زمانی که محتویات آن بارگیری شود به تاخیر بیاندازد. برای جزئیات بیشتر به مستندات مراجعه کنید.
نسخه 1.2.0-rc01
24 مارس 2021
androidx.recyclerview:recyclerview:1.2.0-rc01
منتشر شد. نسخه 1.2.0-rc01 حاوی این commit ها است.
رفع اشکال
-
ConcatAdapter.Config.Builder
اکنون مقادیر پیشفرضی دارد که باConfig.DEFAULT
( b/157169835 ) مطابقت دارد.
نسخه 1.2.0-beta02
24 فوریه 2021
androidx.recyclerview:recyclerview:1.2.0-beta02
منتشر شد. نسخه 1.2.0-beta02 حاوی این تعهدات است.
رفع اشکال
- مشکل رفع شد که در آن لایه بالایی باعث میشد که درخشش روکشهای سمت راست بهجای حرکت به سمت پایین به سمت بالا و بهمنظور رعایت بالشتکها، به سمت بالا در قسمت پد شده حرکت کند. ( I6b61d , b/118399122 )
نسخه 1.2.0-beta01
2 دسامبر 2020
androidx.recyclerview:recyclerview:1.2.0-beta01
بدون تغییر از 1.2.0-alpha06
منتشر شد. نسخه 1.2.0-beta01 حاوی این تعهدات است.
نسخه 1.2.0-alpha06
1 اکتبر 2020
androidx.recyclerview:recyclerview:1.2.0-alpha06
منتشر شد. نسخه 1.2.0-alpha06 حاوی این commit ها است.
ویژگی های جدید
- اضافه شدن پشتیبانی برای اضافه کردن چندین RecyclerListener. ( I70ad8 , b/145767095 )
تغییرات API
- RecyclerView.setRecyclerListener(RecyclerListener) منسوخ شده است. ( I70ad8 , b/145767095 )
نسخه 1.2.0-alpha05
22 جولای 2020
androidx.recyclerview:recyclerview:1.2.0-alpha05
منتشر شد. نسخه 1.2.0-alpha05 حاوی این commit ها است.
رفع اشکال
- مشکل برطرف شد که در آن اگر RecyclerView فقط یک آیتم داشته باشد و فوکوس شده باشد، فوکوس کردن به جلو یا عقب باعث تغییر تمرکز نمی شود. ( 6f36b3 )
- رفع یک
ArrayIndexOutOfBoundsException
درStaggeredGridLayoutManager
( 49b601 , b/122303625 , b/74877618 , b/160193663 , b/37086625 ) - یک اشکال اندازه گیری را برطرف کرد که در شرایط خاص، RecyclerView به طور نامناسبی فرزندان خود را نشان نمی داد. ( 89040c , b/138734786 )
مشارکت های خارجی
- با تشکر از Kolin Krewinkel از طرف فیس بوک برای مشارکت !
نسخه 1.2.0-alpha04
24 ژوئن 2020
androidx.recyclerview:recyclerview:1.2.0-alpha04
منتشر شد. نسخه 1.2.0-alpha04 حاوی این commit ها است.
تغییرات API
-
MergeAdapter
بهConcatAdapter
تغییر نام داده است تا از هرگونه سردرگمی با رفتارهای مختلف ادغام داده ها جلوگیری شود ( c0540c , b/158019211 ).
رفع اشکال
- بهبود پیمایش خودکار هنگامی که همه موارد قابل مشاهده حذف می شوند ( fe8670 , b/154124815 )
نسخه 1.2.0-alpha03
29 آوریل 2020
androidx.recyclerview:recyclerview:1.2.0-alpha03
منتشر شد. نسخه 1.2.0-alpha03 حاوی این commit ها است.
ویژگی های جدید
- RecyclerView اکنون یک متد
nestedScrollBy
دارد که امکان پیمایش برنامهای را فراهم میکند که با پیمایش تودرتو همکاری میکند: ( Ibaa58 )
نسخه 1.2.0-alpha02
1 آوریل 2020
androidx.recyclerview:recyclerview:1.2.0-alpha02
منتشر شد. نسخه 1.2.0-alpha02 حاوی این commit ها است.
این و نسخه های بالاتر RecyclerView با نسخه های پایین تر ViewPager2 سازگار نیستند. اگر در حال حاضر از androidx.viewpager2:viewpager2:1.0.0
یا پایینتر استفاده میکنید، حتماً به androidx.viewpager2:viewpager2:1.1.0-alpha01
بهروزرسانی کنید.
ویژگی های جدید
MergeAdapter
- MergeAdapter : یک آداپتور RecyclerView جدید که می تواند چندین آداپتور را به صورت خطی ترکیب کند.
MyAdapter adapter1 = ...; AnotherAdapter adapter2 = ...; MergeAdapter merged = new MergeAdapter(adapter1, adapter2); recyclerView.setAdapter(mergedAdapter);
برای نمونه بالا، MergeAdapter مواردی را از
adapter1
و سپسadapter2
را ارائه می دهد.RecyclerView.Adapter
Lazy Restoration :یک API جدید به کلاس
RecyclerView.Adapter
اضافه شده است که به آداپتور اجازه می دهد تا زمان بازیابی وضعیت طرح بندی را کنترل کند.برای مثال می توانید تماس بگیرید:
myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
برای اینکه RecyclerView قبل از بازیابی موقعیت اسکرول منتظر بماند تا آداپتور خالی نشود.
CollectionInfo و CollectionItemInfo دیگر به طور پیش فرض پر نخواهند شد.
اگر میخواهید که خدمات دسترسی (مثلاً Talkback) همچنان تعداد و فهرست آیتم را به کاربر نشان دهد، باید خودتان CollectionInfo و CollectionItemInfo را پر کنید.
این اشیاء دیگر در چارچوب پر نمیشوند زیرا چارچوب نمیتواند تعداد موارد درک شده توسط کاربر را تعیین کند (مانند جداکنندهها، سرصفحهها یا موارد RecyclerView که چندین مورد درک شده را نشان میدهند).
رفع اشکال
- RecyclerView اکنون از لنگر انداختن بر روی Views خارج از viewport هنگامی که اندازه viewport تغییر کرده است اجتناب می کند
- یک اشکال در DiffUtil رفع شد که ممکن است زمانی که یک مورد اصلی در لیست اول چندین بار در لیست دوم تکرار می شود، تفاوت را اشتباه محاسبه کند. ( b/123376278 )
نسخه 1.2.0-alpha01
18 دسامبر 2019
androidx.recyclerview:recyclerview:1.2.0-alpha01
منتشر شد. نسخه 1.2.0-alpha01 حاوی این commit ها است .
رفع اشکال
- رفع مشکلات جزئی FastScroller مربوط به طراحی RTL و دقت لمسی ( b/143789932 ، aosp/1130438 )
- رفع خرابی در ItemTouchHelper هنگام حذف از RecyclerView در حالی که انیمیشنهای ItemTouchHelper در حال اجرا هستند ( b/140447176 ، aosp/1167575 )
نسخه 1.1.0
نسخه 1.1.0
20 نوامبر 2019
androidx.recyclerview:recyclerview:1.1.0
منتشر شد. نسخه 1.1.0 حاوی این تعهدات است .
تغییرات مهم از 1.0.0
-
PagerSnapHelper
وLinearSnapHelper
اکنون بدون توجه به مقدارclipToPadding
، padding RecyclerView را در نظر می گیرند ( b/139452422 , b/139012032 , aosp/1103182 , aosp/110672811 , aosp/110672811,30 ) -
RecyclerView.setLayoutTransition(LayoutTransition)
به طور رسمی منسوخ شده است و در صورت فراخوانی با مقدار غیر تهی، یکIllegalArgumentException
ایجاد می کند. به جای آن ازRecyclerView.setItemAnimator(ItemAnimator)
استفاده کنید. ( aosp/839414 ) - aosp/723649 : RecyclerView اکنون
NestedScrollingChild3
پیادهسازی میکند و به آن امکان میدهد از زمانی که تمام والدین پیمایش تودرتو مصرف فواصل پیمایش تودرتو را متوقف کردهاند، مطلع شود. اگر کد برنامهنویس در حال حاضرRecyclerView.onNestedScroll(View, int, int, int, int, int)
را لغو کند، احتمالاً دیگر فراخوانی نخواهد شد وRecyclerView.onNestedScroll(View, int, int, int, int, int, int[])
در عوض باید نادیده گرفته شود. - RecyclerView اکنون یک ویژگی سبک پیشفرض دارد:
recyclerViewStyle
، که اجازه میدهد سبک پیشفرض را در موضوع خود تنظیم کنید. - API اقدامات دسترسی ViewCompat دیگر RecyclerView ItemDelegate را خراب نمی کند.
-
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])
را می توان برای سفارشی کردن مقدار فضای طرح بندی اضافی به هر طرف RecyclerView مرتبط اضافه کرد. ( aosp/931259 ) - اضافهبار جدیدی از smoothScrollBy اضافه شده است:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)
که به شما امکان میدهد مدت زمان انیمیشن را بر حسب میلیثانیه مشخص کنید. ( aosp/952807 )
نسخه 1.1.0-rc01
23 اکتبر 2019
androidx.recyclerview:recyclerview:1.1.0-rc01
منتشر شد. نسخه 1.1.0-rc01 حاوی این commit ها است .
رفع اشکال
- هنگام لغو
RecyclerViewAccessibilityDelegate.ItemDelegate
( aosp/1138057 ، aosp/1133434 ) "Application Not Responsing" رفع شد.
نسخه 1.1.0-beta05
9 اکتبر 2019
androidx.recyclerview:recyclerview:1.1.0-beta05
منتشر شد. نسخه 1.1.0-beta05 حاوی این تعهدات است .
API تغییر می کند
- با پیگیری aosp/1106715 و aosp/1103182 ، اکنون LinearSnapHelper و PagerSnapHelper نمای را که در مرکز کران های RecyclerView قرار دارد، منهای padding، علیرغم مقدار clipToPadding، برمی گردانند. ( aosp/1130728 )
رفع اشکال
- مشکلی را که در آن RecyclerView گرههای دسترسی تکراری را برای فرزندان RecyclerView ایجاد میکرد، برطرف کرد. ( aosp/1130618 )
- مشکلی که در آن سلسله مراتب دسترسی مجازی در RecyclerViews کار نمیکرد، برطرف شد.
- مشکلی که در آن از ItemDelegates سفارشی استفاده نشده بود، رفع شد.
نسخه 1.1.0-beta04
5 سپتامبر 2019
androidx.recyclerview:recyclerview:1.1.0-beta04
منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
رفع اشکال
-
PagerSnapHelper
وLinearSnapHelper
اکنون بدون توجه به مقدارclipToPadding
padding RecyclerView را در نظر می گیرند ( b/139452422 , b/139012032 , aosp/1103182 , aosp/1106715 ) - هنگامی که پیشپیمایش تودرتو باعث میشد یک
NestedScrollingParent
پیمایش کند، RecyclerView رهگیری لمس را ممنوع نمیکرد، رفع شد ( b/138668210 ، aosp/1105373 ). این به کتابخانه هایی مانند ViewPager2 کمک می کند. - RecyclerView اکنون قبل از ارسال پیمایشهای تودرتو به
SCROLL_STATE_DRAGGING
پیوسته میرود ( aosp/1105373 ) - پیشپیمایش تودرتو قبل از اینکه حرکت از شیب لمسی فراتر رود دیگر انجام نمیشود ( b/139530818 ، aosp/1105373 )
- زمانی که RecyclerView نتواند در آن جهت پیمایش کند، آرگومانهای
dx
وdy
ارسال شده به پیشاسکرولهای تودرتو، صفر میشوند ( aosp/1105373 )
نسخه 1.1.0-beta03
15 آگوست 2019
androidx.recyclerview:recyclerview:1.1.0-beta03
منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
API تغییر می کند
- RecyclerView اکنون فواصل پیمایش را از طریق
View.onScrollChanged(int l, int t, int oldl, int oldt)
ارسال میکند به طوری که سرویسهای دسترسپذیری در مورد تغییرات اسکرول با دقت مطلع میشوند. ( aosp/1007823 )
رفع اشکال
- رفع یک اشکال عمده سرریز پشته اشکال مربوط به RecyclerView و قابلیت دسترسی. ( aosp/1099577 )
نسخه 1.1.0-beta02
7 آگوست 2019
androidx.recyclerview:recyclerview:1.1.0-beta02
منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
- RecyclerView اکنون یک ویژگی سبک پیشفرض دارد:
recyclerViewStyle
، که اجازه میدهد سبک پیشفرض را در موضوع خود تنظیم کنید.
رفع اشکال
- رفع اشکالی که در آن RecyclerView هنگام پیمایش، رهگیری لمسی را ممنوع نمیکرد و باعث اسکرول NestedScrollingParent میشد. ( b/131115697 , aosp/1055911 )
نسخه 1.1.0-beta01
2 جولای 2019
androidx.recyclerview:recyclerview:1.1.0-beta01
منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
-
RecyclerView
اکنون در پیمایش تودرتو، زمانی که یک اسکرول از طریق رویدادهای دسترسپذیری آغاز میشود، شرکت میکند. ( aosp/973584 )
نسخه 1.1.0-alpha06
5 ژوئن 2019
androidx.recyclerview:recyclerview:1.1.0-alpha06
و androidx.recyclerview:recyclerview-selection:1.1.0-alpha06
منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
- اضافهبار جدیدی از smoothScrollBy اضافه شده است:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)
که به شما امکان میدهد مدت زمان انیمیشن را بر حسب میلیثانیه مشخص کنید. ( aosp/952807 )
API تغییر می کند
-
GridLayoutManager
وStaggeredGridLayoutManager
دیگر بهطور خودکار آیتمهای گستره کامل را به عنوان سرصفحه برای اهداف دسترسی برچسب نمیزنند ( aosp/969703 ) - حفظ ترتیب انتخاب (بر اساس زمان ایجاد) در
recyclerview-selection
( aosp/937279 )
رفع اشکال
- اشکالی را که در آن
RecyclerView
با سرعتهای نادرست در حالت پیمایش تودرتو پرتاب میشد، برطرف شد. ( aosp/961642 ) - بهبودهای پایداری به
recyclerview-selection
اضافه شد ( aosp/960213 ، aosp/926296 )
نسخه 1.1.0-alpha05
7 مه 2019
androidx.recyclerview:recyclerview:1.1.0-alpha05
و androidx.recyclerview:recyclerview-selection:1.1.0-alpha05
منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
-
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])
را می توان برای سفارشی کردن مقدار فضای طرح بندی اضافی به هر طرف RecyclerView مرتبط اضافه کرد. ( aosp/931259 )
API تغییر می کند
- افزودن API برای بازیابی
DividerItemDecoration
قابل ترسیم ( aosp/937282 ) -
LinearLayout.getExtraLayoutSpace(RecyclerVew.State)
به نفع مکانیزم جدیدی که اجازه می دهد فضای طرح بندی اضافی سفارشی در هر دو طرف داشته باشید، منسوخ کنید. روش جدیدLinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[])
است ( aosp/931259 )
رفع اشکال
- انتخاب اشاره پاک شد ( aosp/940781 )
- حفظ ترتیب انتخاب (بر اساس زمان ایجاد) ( b/128455535 )
نسخه 1.1.0-alpha04
3 آوریل 2019
androidx.recyclerview:recyclerview:1.1.0-alpha04
منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
رفع اشکال
- RV OnItemTouchListener قبلاً نمیتوانست در ACTION_UP رهگیری کند، و مانع از آن میشد که OnItemTouchListener کدهای دیگر را از پاسخگویی به ACTION_UP مسدود کند. اکنون این مشکل برطرف شده است: ( aosp/916137 )
نسخه 1.1.0-alpha03
13 مارس 2019
androidx.recyclerview:recyclerview:1.1.0-alpha03
منتشر شد. لیست کامل commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
-
GridLayoutManager
: انتخاب با وضوح بالاتر، تخمین ابعاد نوار پیمایشGridLayoutManager
( aosp/838836 ):- از اطلاعات دهانه برای تخمین ابعاد نوار پیمایش برای
GridLayoutManager
استفاده می کند. - برای فعال کردن،
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)
به صورت true فراخوانی کنید. - برای اطلاعات بیشتر به مستندات
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)
مراجعه کنید.
- از اطلاعات دهانه برای تخمین ابعاد نوار پیمایش برای
رفع اشکال
- دسترسی: یک اشکال وجود داشت که در آن یک بار ViewHolder بازیافت میشد و سپس Rebound میشد، ItemDelegate مرتبط با
RecyclerViewAccessibilityDelegate
RecyclerView با آیتم ViewHolder مرتبط نمیشد، که Accessibility را شکست. اکنون این مشکل برطرف شده است ( aosp/917740 ).
نسخه 1.1.0-alpha02
30 ژانویه 2019
androidx.recyclerview:recyclerview 1.1.0-alpha02
منتشر شد.
API تغییر می کند
-
RecyclerView.setLayoutFrozen(boolean)
وRecyclerView.isLayoutFrozen()
به نفعRecyclerView.suppressLayout(boolean)
وRecyclerView.isLayoutSuppressed()
منسوخ شده اند. ( aosp/839414 ) -
RecyclerView.setLayoutTransition(LayoutTransition)
به طور رسمی منسوخ شده است و در صورت فراخوانی با مقدار غیر تهی، یکIllegalArgumentException
ایجاد می کند. ( aosp/839414 )
رفع اشکال
- رفع اشکال در RV که در آن
SmoothScroller
هرگز متوقف نمی شود ( aosp/843741 ) - اشکال رفع شد که در آن
SCROLL_STATE_IDLE
ممکن است در پایان یک انیمیشن پیمایشی فراخوانی نشود. ( aosp/812576 )
نسخه 1.1.0-alpha01
3 دسامبر 2018
androidx.recyclerview 1.1.0-alpha01
و androidx.recyclerview-selection 1.1.0-alpha01
منتشر شد.
androidx.recyclerview 1.1.0-alpha01
API تغییر می کند
- aosp/723649 : RecyclerView اکنون
NestedScrollingChild3
پیادهسازی میکند و به آن امکان میدهد از زمانی که تمام والدین پیمایش تودرتو مصرف فواصل پیمایش تودرتو را متوقف کردهاند، مطلع شود. اگر کد برنامهنویس در حال حاضرRecyclerView.onNestedScroll(View, int, int, int, int, int)
را لغو کند، احتمالاً دیگر فراخوانی نخواهد شد وRecyclerView.onNestedScroll(View, int, int, int, int, int, int[])
در عوض باید نادیده گرفته شود.
رفع اشکال
- رفع خرابی هنگام استفاده از
TransitionManager
برای جمع کردن/بسط مورد درRecyclerView
( b/37129527 ). - رفع اشکالی که رفتار
RecyclerView.OnItemTouchListener
با رفتار سیستم viewonInterceptTouchEvent
وonTouchEvent
مطابقت نداشت ( aosp/721235 ) - رفع چند اشکال لبه مربوط به پیمایش صاف ( aosp/729718 ، aosp/747168 ، aosp/812576 )
- استراتژی snap ثابت در
PagerSnapHelper
برای مقابله با نماهای فرزند غیر معمول ( aosp/795752 )
androidx.recyclerview-selection 1.1.0-alpha01
رفع اشکال
- هنگامی که مجموعه داده ها با حذف انتخاب تغییر کرد،
ConcurrentModificationException
رفع شد.
RecyclerView-Selection نسخه 1.1.0
RecyclerView-Selection نسخه 1.1.0
27 ژانویه 2021
androidx.recyclerview:recyclerview-selection:1.1.0
منتشر شد. نسخه 1.1.0 حاوی این commit ها است.
تغییرات عمده از 1.0.0
- بهبود پایداری متعدد
- با متدهای
withGestureTooltypes
وwithPointerTooltypes
درSelectionTracker.Builder
منسوخ شد. این روش ها در نسخه بعدی حذف خواهند شد.
RecyclerView-Selection نسخه 1.1.0-rc03
1 اکتبر 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc03
منتشر شد. نسخه 1.1.0-rc03 حاوی این commit ها است.
رفع اشکال
با تشکر از استفان کیسلر برای آزمایش اصلاحات و بازخورد.
- مشکلی که در آن OnClickListeners به طور غیرمنتظره ای در هنگام انتخاب فعال فراخوانی شده بود، برطرف شد.
- کنترل کننده ماوس (انتخاب باند) > اسکرول های غیرمنتظره را با زیبایی مدیریت کنید. ( b/167821507 )
RecyclerView-Selection نسخه 1.1.0-rc02
2 سپتامبر 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc02
منتشر شد. نسخه 1.1.0-rc02 حاوی این commit ها است.
نکات برجسته
- چندین رگرسیون از 1.0 در مدیریت ورودی آدرس داده شد.
- کتابخانه بهروزرسانی شد تا به روی
onRequestDisallowInterceptTouchEvent
احترام بگذارد، و به آن اجازه میدهد با ItemTouchHelper به خوبی بازی کند (فقط آن را با انگشت خود بکشید!).
رفع اشکال
- مشکلی که کتابخانه انتخاب رویدادهای
GestureDetector
اشتباه تفسیر میکرد که منجر به از دست رفتن ضربهها در حین انتخاب فعال میشد، برطرف شد ( b/165030422 ) - مشکلی که در آن انتخاب برای منعکس کردن موارد حذف شده از آداپتور به روز نشد، برطرف شد. ( b/138932671 )
- رفع مشکلی که در آن موارد RecyclerView روی رویدادهای کلیک فعال میشوند در حالی که SelectionTracker دارای انتخاب فعال است ( b/161162268 )
- اکنون
onRequestDisallowInterceptTouchEvent
را به درستی مدیریت می کند - رفع مشکل
”Cannot call this method in a scroll callback”
که در حین پیمایش ماوس در Q مشاهده می شود - اسناد به روز شده (مخصوصاً در
StableIdKeyProvider
) برای بیان واضح الزامات نمونه RecyclerView
Recyclerview-Selection نسخه 1.1.0-rc01
5 فوریه 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc01
منتشر شد. نسخه 1.1.0-rc01 حاوی این commit ها است .
رفع اشکال
- مشکلی که RecyclerView در صورت تعامل با AppBarLayout قابل پیمایش ( aosp/1193934 ) به سختی میتوان با انتخاب ژست پیمایش کرد، رفع شد.
RecyclerView-Selection نسخه 1.1.0-beta01
4 دسامبر 2019
androidx.recyclerview:recyclerview-selection:1.1.0-beta01
منتشر شد. نسخه 1.1.0-beta01 حاوی این تعهدات است .
بهبودهای کلی در ثبات مربوط به کنترل های دفاعی و مدیریت وضعیت داخلی.
رفع اشکال
- بهبود مدیریت وضعیت کتابخانه و تفسیر رویدادهای CANCEL، که منجر به بهبود ثبات می شود.
API تغییر می کند
- پارامتر نوع کلید انتخابی به کلاس ها و متدهایی که گم شده اند اضافه شده است.
- روش های منسوخ شده:
- SelectionTracker.Builder#withPointerTooltype
- SelectionTracker.Builder#withGestureTooltype
- این روشها با این هدف وجود داشتند که توسعهدهندگان ممکن است رفتارهای اشارهگر یا اشارهای را به انواع ابزارهایی غیر از پیشفرض*ها ترسیم کنند. هدف خوب بود، اما پس از استفاده بیشتر مشخص شد که انتظارات کاربر در مورد رفتار ورودی بسیار خاص نوع ابزار است. همچنین، تا آنجا که به سیستم ورودی اندروید مربوط می شود، استایل های "غیرفعال" از نوع ابزار FINGER هستند.
- انواع ابزار پیش فرض عبارتند از FINGER برای اشاره و ماوس برای اشاره گر.