ViewPager2
| آخرین به روز رسانی | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
|---|---|---|---|---|
| 14 مه 2024 | 1.1.0 | - | - | - |
وابستگی های AndroidX
برای استفاده از ViewPager2 ، وابستگی AndroidX زیر را به فایل build.gradle پروژه خود اضافه کنید:
شیار
dependencies { implementation "androidx.viewpager2:viewpager2:1.1.0" }
کاتلین
dependencies { implementation("androidx.viewpager2:viewpager2:1.1.0") }
بازخورد
بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه 1.1.0
نسخه 1.1.0
14 مه 2024
androidx.viewpager2:viewpager2:1.1.0 منتشر شد. نسخه 1.1.0 حاوی این تعهدات است.
تغییرات مهم از 1.0.0
- هنگام استفاده با RecyclerView
1.3.1-rc01یا بالاتر، خرابی ها را رفع می کند. -
ViewPager2اکنونCollectionInfoوCollectionItemInfoرا به درستی پر می کند که RecyclerView1.2.0-alpha02و بالاتر دیگر به طور پیش فرض پر نمی شود. - رابط
FragmentTransactionCallbackبرای گوش دادن به تغییرات چرخه عمر قطعه که درFragmentStateAdapterاتفاق میافتد اضافه شد. - مشکل
FragmentStateAdapterبا نمایان شدن منوی قطعه اولیه هنگام افزودن یک قطعه بهFragmentManagerبرطرف شد. - ارسال ثابت ورودیهای پنجره: اکنون همه صفحات همان ورودیها را دریافت میکنند. با توجه به نحوه ارسال
WindowInsetsدر نسخههای API قدیمی (< API 30) که میتواند از در دسترس بودن insetها برای نماهای خواهر و برادر جلوگیری کند، اگر میخواهید در دستگاههای < API 30 Insetها اعمال شود، باید از طریقWindowInsetsApplier.install(viewPager2)این اصلاح را انتخاب کنید. .
نسخه 1.1.0-rc01
1 مه 2024
androidx.viewpager2:viewpager2:1.1.0-rc01 بدون هیچ تغییر قابل توجهی از نسخه 1.1.0-beta02 منتشر شد. نسخه 1.1.0-rc01 حاوی این commit ها است.
نسخه 1.1.0-beta02
24 مه 2023
androidx.viewpager2:viewpager2:1.1.0-beta02 منتشر شد. نسخه 1.1.0-beta02 حاوی این تعهدات است.
تغییرات API
- به
FragmentTransactionCallbackاضافه شده است. ( I45b90 ) -
ViewPager2اکنون دیگر تلاش نمیکند تا ارسال خرابWindowInsetsنسخههای API قدیمی (< 30) را برطرف کند، زیرا خود این اصلاح میتواند برای خواهر و برادرViewPager2مضر باشد. این اصلاح هنوز در دسترس است، اما به یک گزینه انتخابی تبدیل شده است، بنابراین توسعه دهندگان می توانند بر اساس مورد به مورد تصمیم بگیرند. رفع مشکل را با فراخوانیWindowInsetsApplier.install(viewPager2))فعال کنید. ( IC9a85 )
رفع اشکال
- مشکلات سازگاری را با نسخه های جدیدتر
RecyclerViewبرطرف کنید. کاربران این نسخه ازViewPager2باید حداقل بهRecyclerView1.3.1-rc01 به روز رسانی کنند.
نسخه 1.1.0-beta01
4 آگوست 2021
androidx.viewpager2:viewpager2:1.1.0-beta01 منتشر شد. نسخه 1.1.0-beta01 حاوی این تعهدات است.
تغییرات API
Androidx را برای استفاده از Kotlin 1.4 ارتقا دهید ( Id6471 , b/165307851 , b/165300826 )
حرکت به جاوا 8 برای همه کتابخانه های اندرویدیکس ( 2923f39 )
رفع اشکال
- ارسال ثابت ورودیهای پنجره، اکنون همه صفحات همان ورودیها را دریافت میکنند. ( I47fef )
نسخه 1.1.0-alpha01
1 آوریل 2020
androidx.viewpager2:viewpager2:1.1.0-alpha01 منتشر شد. نسخه 1.1.0-alpha01 حاوی این commit ها است.
این نسخه همراه با تغییر RecyclerView 1.2.0-alpha02 با پر کردن CollectionInfo و CollectionItemInfo است که RecyclerView دیگر به طور پیشفرض ارائه نمیکند. هنگام بهروزرسانی به RecyclerView 1.2.0-alpha02 ViewPager2 نیز بهروزرسانی کنید تا از رگرسیون دسترسی جلوگیری کنید.
ویژگی های جدید
- رابط
FragmentTransactionCallbackبرای گوش دادن به تغییرات چرخه عمر قطعه که درFragmentStateAdapterاتفاق میافتد اضافه شد. ( ابدا77 )
رفع اشکال
- مشکل
FragmentStateAdapterبا نمایان شدن منوی قطعه اولیه هنگام افزودن یک قطعه بهFragmentManagerبرطرف شد. ( I9d2ff , b/144442240 )
نسخه 1.0.0
نسخه 1.0.0
20 نوامبر 2019
androidx.viewpager2:viewpager2:1.0.0 بدون تغییر نسبت به 1.0.0-rc01 منتشر شد. نسخه 1.0.0 حاوی این تعهدات است .
ویژگی های اصلی 1.0.0
- بهبودهایی از اجرای ViewPager قبلی:
- پشتیبانی از طرح RTL (راست به چپ).
- پشتیبانی از جهت گیری عمودی
- پشتیبانی
Fragmentقابل اعتماد (از جمله تغییرات در دستکاری در مجموعهFragmentزیرین) - انیمیشن های تغییر مجموعه داده (از جمله پشتیبانی
DiffUtil)
- انتقال آسان از اجرای
ViewPagerقبلی (تعادل API در صورت امکان). راهنمای مهاجرت و نمونه برنامه را ببینید.
راهنمای استفاده از ViewPager2 برای اسلاید بین قطعات را ببینید.
نسخه 1.0.0-rc01
23 اکتبر 2019
androidx.viewpager2:viewpager2:1.0.0-rc01 بدون تغییر از 1.0.0-beta05 منتشر شده است. نسخه 1.0.0-rc01 حاوی این commit ها است .
نسخه 1.0.0-beta05
9 اکتبر 2019
androidx.viewpager2:viewpager2:1.0.0-beta05 منتشر شد. نسخه 1.0.0-beta05 حاوی این تعهدات است .
رفع اشکال
- رفع درخواست
requestFocusروی صفحه خارج از صفحه که باعث تغییر صفحه می شود. این رفتار اکنون با ViewPager اصلی سازگار است. ( b/140656866 ) - رفع
focusروی صفحه خارج از صفحه پس از تغییر صفحه. اکنون هنگام تغییر صفحه، فوکوس پاک می شود. ( b/140656866 ) - رفع سفارش تراکنشهای مکث/رزومه
Fragmentهنگام تغییر صفحه (اکنون همیشه آیتم اصلی قدیمی را قبل از از سرگیری مورد جدید متوقف میکنیم). ( b/139489059 ) - برای
canScrollHorizontally(int)وcanScrollVertically(int)رفع می شود - اکنون بررسی می کنند که آیا ViewPager2 می تواند در جهت داده شده حرکت کند یا خیر. ( b/141848404 ) - یک مشکل در SwipeRefreshLayout برای کار بهتر با ViewPager2 برطرف شد.
نسخه 1.0.0-beta04
5 سپتامبر 2019
androidx.viewpager2:viewpager2:1.0.0-beta04 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
رفع اشکال
- مشکل حاشیهای
FragmentStateAdapterبا پشتهFragmentرا برطرف کنید. ( b/139095195 ) -
EditTextرا با پیکربندیهای مشخصه مشخص کنید که باعث پرش اسکرول/صفحه در تایپ/فوکوس میشود. ( b/138044582 , b/139432498 ) - رفع مشکل در موارد
ItemDecorationو راهحلی برای موقعیتیابی نشانگر overscroll. ( b/139012032 ) - تعدادی از مشکلات در سایر مؤلفهها رفع شد تا با
ViewPager2بهتر کار کند: RecyclerView ، NestedScrollView ، و Navigation .
نسخه 1.0.0-beta03
7 آگوست 2019
androidx.viewpager2:viewpager2:1.0.0-beta03 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
رفع اشکال
- مشکل
FragmentStateAdapterبا وضعیتFragmentگذرا را برطرف کنید. ب/134246546 - هنگامی که یک مجموعه داده در حین پیمایش صاف تغییر میکند، مشکلات
currentItemوscrollStateرا برطرف کنید. ب/137642608 - انیمیشنهای
PageTransformer(از جملهMarginPageTransformer) که با انیمیشنهای تغییر مجموعه دادهها در تضاد هستند را برطرف کنید. ب/134658996 - رفع انیمیشن های اسکرول صاف در مجموعه داده های بزرگ (محدودیت مقدار عدد صحیح
float). ب/134858960
نسخه 1.0.0-beta02
19 جولای 2019
androidx.viewpager2:viewpager2:1.0.0-beta02 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
رفع اشکال
- وابستگی ناخواسته jacoco که در
1.0.0-beta01معرفی شده بود حذف شد. ( b/137782951 )
نسخه 1.0.0-beta01
17 جولای 2019
androidx.viewpager2:viewpager2:1.0.0-beta01 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
رفع اشکال
- رفع خرابی
ViewPager2.updateCurrentItemهنگام پیمایش و بهروزرسانی مجموعه داده - رفع خرابی
NullPointerExceptionمربوط بهViewPager2.isLayoutRtl -
TOUCH_SLOP_PAGINGاکنون یک شیب لمسی پیشفرض است - رویدادهای
OnPageChangeCallbackبرای آداپتورهای خالی ثابت شد (صفحه0به جای-1برای برابری باViewPager1)
مسائل شناخته شده
- ما هنوز در حال کار روی مسائل باز باقی مانده قبل از انتقال به Stable هستیم
نسخه 1.0.0-alpha06
2 جولای 2019
androidx.viewpager2:viewpager2:1.0.0-alpha06 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
این آخرین آلفای برنامه ریزی شده ما قبل از مسدود کردن API و انتقال به نسخه بتا است - لطفاً بازخورد API را به ما ارائه دهید.
ویژگی های جدید
- مبانی دسترسی بهبودیافته:
ACTION_PAGE_RIGHT،ACTION_PAGE_DOWN، و غیره.
API تغییر می کند
-
FragmentStateAdapter:Fragmentغیراصلی باSTARTEDمحدود میشوند وmenuVisibilityروی false تنظیم میشود. -
PageTransformer،MarginPageTransformer،CompositePageTransformer: مستندات برایpositionثابت است.
رفع اشکال
-
currentItemپس از تغییر مجموعه داده / تغییر آداپتور ثابت شد. -
MarginPageTransformerبا مشکلoffscreenPageLimitرفع شد. - اقدامات دسترسپذیری در حالی که در
FakeDragرفتار میکنید ثابت شد.
نسخه 1.0.0-alpha05
5 ژوئن 2019
androidx.viewpager2:viewpager2:1.0.0-alpha05 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
-
ItemDecoratorبا رفتاری مطابق باRecyclerViewمعرفی شد. -
MarginPageTransformerبرای ارائه توانایی ایجاد فضای بین صفحات (خارج از درج صفحه) معرفی شد. -
CompositePageTransformerبرای ارائه توانایی ترکیب چندینPageTransformerمعرفی شد.
API تغییر می کند
- روش
FragmentStateAdapter#getItemبهFragmentStateAdapter#createFragmentتغییر نام داد - نام روش قبلی ثابت کرده است که در گذشته منبع اشکال بوده است. - مقدار
OFFSCREEN_PAGE_LIMIT_DEFAULTاز0به-1تغییر کرد. در صورت استفاده از ثابتOFFSCREEN_PAGE_LIMIT_DEFAULT، نیازی به تغییر کد مشتری نیست.
رفع اشکال
- وقتی
SCROLL_STATE_SETTLINGتوسط یک کشیدن در جهت مخالف قطع شود، رفتارgetCurrentItem()تصحیح شد. - مشکلات بارکننده کلاس
FragmentStateAdapterکه در زمینه «فعالیتها را حفظ نکنید». - اسناد
setOffscreenPageLimitبهبود یافته است.
نسخه 1.0.0-alpha04
7 مه 2019
androidx.viewpager2:viewpager2:1.0.0-alpha04 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
-
offscreenPageLimit: امکان کنترل دقیق تعدادViewصفحه/Fragmentدر سلسله مراتب مشاهده را فراهم می کند.
API تغییر می کند
-
orientationو ویژگیهایisUserScrollableدیگر بخشی ازSavedStateنیستند - متدهای
saveStateوrestoreStateدرFragmentStateAdapterنهایی شدند - حاشیه نویسی
ViewPager2.OrientationوViewPager2.ScrollStateغیر عمومی شده است
رفع اشکال
-
SavedState: مشکل بازیابی زمانی کهActivityاز بین میرود/بازسازی میشود برطرف شد -
SavedState: بازیابی به تاخیر افتاد تا زمانی که آداپتور تنظیم شود -
OnPageChangeCallback: موارد لبه کوچک رفع شده است
نسخه 1.0.0-alpha03
3 آوریل 2019
androidx.viewpager2:viewpager2:1.0.0-alpha03 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
- امکان اسکرول برنامهنویسی ViewPager2:
fakeDragBy(offsetPx).
API تغییر می کند
- اکنون
FragmentStateAdapterبه یک شیءLifecycleنیاز دارد. دو سازنده ابزار برای به دست آوردن آن از HostFragmentActivityیا HostFragmentاضافه شدند.
رفع اشکال
- تعداد زیادی رفع پشتیبانی
Fragment:- مدیریت بهروزرسانیهای مجموعه داده در حین به حداقل رساندن، یا در حین چرخش صفحه.
- حذف قطعات نامربوط پس از چرخش.
- حذف وضعیت ذخیره شده موارد حذف شده
-
PageChangeCallback: محاسبه افست صفحه ثابت برای صفحات دارای حاشیه.
نسخه 1.0.0-alpha02
13 مارس 2019
androidx.viewpager2:viewpager2:1.0.0-alpha02 منتشر شد. لیست کامل commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
- امکان غیرفعال کردن ورودی کاربر (
setUserInputEnabled،isUserInputEnabled)
API تغییر می کند
- نهایی کلاس ViewPager2
رفع اشکال
- رفع پایداری
FragmentStateAdapter
نسخه 1.0.0-alpha01
7 فوریه 2019
androidx.viewpager2:viewpager2 1.0.0-alpha01 منتشر شد. این اولین نسخه ViewPager2 است.
ویژگی های جدید
- در مقایسه با نسخه قبلی خود
android.support.v4.view.ViewPager(VP1):- پشتیبانی از طرح بندی راست به چپ (RTL).
- پشتیبانی از جهت گیری عمودی
-
notifyDataSetChangedکاملاً کاربردی (اشکالات VP1 رفع شده است)
API تغییر می کند
-
FragmentStateAdapterجایگزینFragmentStatePagerAdapterمی شود -
RecyclerView.AdapterجایگزینPagerAdapterمی شود -
registerOnPageChangeCallbackجایگزینaddPageChangeListenerمی شود
مسائل شناخته شده
- clipToPadding
- بدون کشیدن جعلی
- JavaDoc
- پیمایش تو در تو موازی با جهت
- بدون کنترل محدودیت خارج از صفحه
- نیاز به ادغام TabLayout بهتر دارد
- تنظیمکننده پهنای صفحه (اجباری 100%/100%)
- ترانسفورماتور صفحه: بدون انتخاب لایه سخت افزاری/نرم افزاری. بدون ترتیب ترسیم معکوس
- هنگام درج یک صفحه قبل از فعلی، مورد فعلی را قابل مشاهده نگه دارید
- ناوبری صفحه کلید نیاز به کار دارد
- پایداری
FragmentStateAdapter/ بهبود عملکرد در راه است
ViewPager2
| آخرین به روز رسانی | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
|---|---|---|---|---|
| 14 مه 2024 | 1.1.0 | - | - | - |
وابستگی های AndroidX
برای استفاده از ViewPager2 ، وابستگی AndroidX زیر را به فایل build.gradle پروژه خود اضافه کنید:
شیار
dependencies { implementation "androidx.viewpager2:viewpager2:1.1.0" }
کاتلین
dependencies { implementation("androidx.viewpager2:viewpager2:1.1.0") }
بازخورد
بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه 1.1.0
نسخه 1.1.0
14 مه 2024
androidx.viewpager2:viewpager2:1.1.0 منتشر شد. نسخه 1.1.0 حاوی این تعهدات است.
تغییرات مهم از 1.0.0
- هنگام استفاده با RecyclerView
1.3.1-rc01یا بالاتر، خرابی ها را رفع می کند. -
ViewPager2اکنونCollectionInfoوCollectionItemInfoرا به درستی پر می کند که RecyclerView1.2.0-alpha02و بالاتر دیگر به طور پیش فرض پر نمی شود. - رابط
FragmentTransactionCallbackبرای گوش دادن به تغییرات چرخه عمر قطعه که درFragmentStateAdapterاتفاق میافتد اضافه شد. - مشکل
FragmentStateAdapterبا نمایان شدن منوی قطعه اولیه هنگام افزودن یک قطعه بهFragmentManagerبرطرف شد. - ارسال ثابت ورودیهای پنجره: اکنون همه صفحات همان ورودیها را دریافت میکنند. با توجه به نحوه ارسال
WindowInsetsدر نسخههای API قدیمی (< API 30) که میتواند از در دسترس بودن insetها برای نماهای خواهر و برادر جلوگیری کند، اگر میخواهید در دستگاههای < API 30 Insetها اعمال شود، باید از طریقWindowInsetsApplier.install(viewPager2)این اصلاح را انتخاب کنید. .
نسخه 1.1.0-rc01
1 مه 2024
androidx.viewpager2:viewpager2:1.1.0-rc01 بدون هیچ تغییر قابل توجهی از نسخه 1.1.0-beta02 منتشر شد. نسخه 1.1.0-rc01 حاوی این commit ها است.
نسخه 1.1.0-beta02
24 مه 2023
androidx.viewpager2:viewpager2:1.1.0-beta02 منتشر شد. نسخه 1.1.0-beta02 حاوی این تعهدات است.
تغییرات API
- به
FragmentTransactionCallbackاضافه شده است. ( I45b90 ) -
ViewPager2اکنون دیگر تلاش نمیکند تا ارسال خرابWindowInsetsنسخههای API قدیمی (< 30) را برطرف کند، زیرا خود این اصلاح میتواند برای خواهر و برادرViewPager2مضر باشد. این اصلاح هنوز در دسترس است، اما به یک گزینه انتخابی تبدیل شده است، بنابراین توسعه دهندگان می توانند بر اساس مورد به مورد تصمیم بگیرند. رفع مشکل را با فراخوانیWindowInsetsApplier.install(viewPager2))فعال کنید. ( IC9a85 )
رفع اشکال
- مشکلات سازگاری را با نسخه های جدیدتر
RecyclerViewبرطرف کنید. کاربران این نسخه ازViewPager2باید حداقل بهRecyclerView1.3.1-rc01 به روز رسانی کنند.
نسخه 1.1.0-beta01
4 آگوست 2021
androidx.viewpager2:viewpager2:1.1.0-beta01 منتشر شد. نسخه 1.1.0-beta01 حاوی این تعهدات است.
تغییرات API
Androidx را برای استفاده از Kotlin 1.4 ارتقا دهید ( Id6471 , b/165307851 , b/165300826 )
حرکت به جاوا 8 برای همه کتابخانه های اندرویدیکس ( 2923f39 )
رفع اشکال
- ارسال ثابت ورودیهای پنجره، اکنون همه صفحات همان ورودیها را دریافت میکنند. ( I47fef )
نسخه 1.1.0-alpha01
1 آوریل 2020
androidx.viewpager2:viewpager2:1.1.0-alpha01 منتشر شد. نسخه 1.1.0-alpha01 حاوی این commit ها است.
این نسخه همراه با تغییر RecyclerView 1.2.0-alpha02 با پر کردن CollectionInfo و CollectionItemInfo است که RecyclerView دیگر به طور پیشفرض ارائه نمیکند. هنگام بهروزرسانی به RecyclerView 1.2.0-alpha02 ViewPager2 نیز بهروزرسانی کنید تا از رگرسیون دسترسی جلوگیری کنید.
ویژگی های جدید
- رابط
FragmentTransactionCallbackبرای گوش دادن به تغییرات چرخه عمر قطعه که درFragmentStateAdapterاتفاق میافتد اضافه شد. ( ابدا77 )
رفع اشکال
- مشکل
FragmentStateAdapterبا نمایان شدن منوی قطعه اولیه هنگام افزودن یک قطعه بهFragmentManagerبرطرف شد. ( I9d2ff , b/144442240 )
نسخه 1.0.0
نسخه 1.0.0
20 نوامبر 2019
androidx.viewpager2:viewpager2:1.0.0 بدون تغییر نسبت به 1.0.0-rc01 منتشر شد. نسخه 1.0.0 حاوی این تعهدات است .
ویژگی های اصلی 1.0.0
- بهبودهایی از اجرای ViewPager قبلی:
- پشتیبانی از طرح RTL (راست به چپ).
- پشتیبانی از جهت گیری عمودی
- پشتیبانی
Fragmentقابل اعتماد (از جمله تغییرات در دستکاری در مجموعهFragmentزیرین) - انیمیشن های تغییر مجموعه داده (از جمله پشتیبانی
DiffUtil)
- انتقال آسان از اجرای
ViewPagerقبلی (تعادل API در صورت امکان). راهنمای مهاجرت و نمونه برنامه را ببینید.
راهنمای استفاده از ViewPager2 برای اسلاید بین قطعات را ببینید.
نسخه 1.0.0-rc01
23 اکتبر 2019
androidx.viewpager2:viewpager2:1.0.0-rc01 بدون تغییر از 1.0.0-beta05 منتشر شده است. نسخه 1.0.0-rc01 حاوی این commit ها است .
نسخه 1.0.0-beta05
9 اکتبر 2019
androidx.viewpager2:viewpager2:1.0.0-beta05 منتشر شد. نسخه 1.0.0-beta05 حاوی این تعهدات است .
رفع اشکال
- رفع درخواست
requestFocusروی صفحه خارج از صفحه که باعث تغییر صفحه می شود. این رفتار اکنون با ViewPager اصلی سازگار است. ( b/140656866 ) - رفع
focusروی صفحه خارج از صفحه پس از تغییر صفحه. اکنون هنگام تغییر صفحه، فوکوس پاک می شود. ( b/140656866 ) - رفع سفارش تراکنشهای مکث/رزومه
Fragmentهنگام تغییر صفحه (اکنون همیشه آیتم اصلی قدیمی را قبل از از سرگیری مورد جدید متوقف میکنیم). ( b/139489059 ) - برای
canScrollHorizontally(int)وcanScrollVertically(int)رفع می شود - اکنون بررسی می کنند که آیا ViewPager2 می تواند در جهت داده شده حرکت کند یا خیر. ( b/141848404 ) - یک مشکل در SwipeRefreshLayout برای کار بهتر با ViewPager2 برطرف شد.
نسخه 1.0.0-beta04
5 سپتامبر 2019
androidx.viewpager2:viewpager2:1.0.0-beta04 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
رفع اشکال
- مشکل حاشیهای
FragmentStateAdapterبا پشتهFragmentرا برطرف کنید. ( b/139095195 ) -
EditTextرا با پیکربندیهای مشخصه مشخص کنید که باعث پرش اسکرول/صفحه در تایپ/فوکوس میشود. ( b/138044582 , b/139432498 ) - رفع مشکل در موارد
ItemDecorationو راهحلی برای موقعیتیابی نشانگر overscroll. ( b/139012032 ) - تعدادی از مشکلات در سایر مؤلفهها رفع شد تا با
ViewPager2بهتر کار کند: RecyclerView ، NestedScrollView ، و Navigation .
نسخه 1.0.0-beta03
7 آگوست 2019
androidx.viewpager2:viewpager2:1.0.0-beta03 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
رفع اشکال
- مشکل
FragmentStateAdapterبا وضعیتFragmentگذرا را برطرف کنید. ب/134246546 - هنگامی که یک مجموعه داده در حین پیمایش صاف تغییر میکند، مشکلات
currentItemوscrollStateرا برطرف کنید. ب/137642608 - انیمیشنهای
PageTransformer(از جملهMarginPageTransformer) که با انیمیشنهای تغییر مجموعه دادهها در تضاد هستند را برطرف کنید. ب/134658996 - رفع انیمیشن های اسکرول صاف در مجموعه داده های بزرگ (محدودیت مقدار عدد صحیح
float). ب/134858960
نسخه 1.0.0-beta02
19 جولای 2019
androidx.viewpager2:viewpager2:1.0.0-beta02 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
رفع اشکال
- وابستگی ناخواسته jacoco که در
1.0.0-beta01معرفی شده بود حذف شد. ( b/137782951 )
نسخه 1.0.0-beta01
17 جولای 2019
androidx.viewpager2:viewpager2:1.0.0-beta01 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
رفع اشکال
- رفع خرابی
ViewPager2.updateCurrentItemهنگام پیمایش و بهروزرسانی مجموعه داده - رفع خرابی
NullPointerExceptionمربوط بهViewPager2.isLayoutRtl -
TOUCH_SLOP_PAGINGاکنون یک شیب لمسی پیشفرض است - رویدادهای
OnPageChangeCallbackبرای آداپتورهای خالی ثابت شد (صفحه0به جای-1برای برابری باViewPager1)
مسائل شناخته شده
- ما هنوز در حال کار روی مسائل باز باقی مانده قبل از انتقال به Stable هستیم
نسخه 1.0.0-alpha06
2 جولای 2019
androidx.viewpager2:viewpager2:1.0.0-alpha06 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
این آخرین آلفای برنامه ریزی شده ما قبل از مسدود کردن API و انتقال به نسخه بتا است - لطفاً بازخورد API را به ما ارائه دهید.
ویژگی های جدید
- مبانی دسترسی بهبودیافته:
ACTION_PAGE_RIGHT،ACTION_PAGE_DOWN، و غیره.
API تغییر می کند
-
FragmentStateAdapter:Fragmentغیراصلی باSTARTEDمحدود میشوند وmenuVisibilityروی false تنظیم میشود. -
PageTransformer،MarginPageTransformer،CompositePageTransformer: مستندات برایpositionثابت است.
رفع اشکال
-
currentItemپس از تغییر مجموعه داده / تغییر آداپتور ثابت شد. -
MarginPageTransformerبا مشکلoffscreenPageLimitرفع شد. - اقدامات دسترسپذیری در حالی که در
FakeDragرفتار میکنید ثابت شد.
نسخه 1.0.0-alpha05
5 ژوئن 2019
androidx.viewpager2:viewpager2:1.0.0-alpha05 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
-
ItemDecoratorبا رفتاری مطابق باRecyclerViewمعرفی شد. -
MarginPageTransformerبرای ارائه توانایی ایجاد فضای بین صفحات (خارج از درج صفحه) معرفی شد. -
CompositePageTransformerبرای ارائه توانایی ترکیب چندینPageTransformerمعرفی شد.
API تغییر می کند
- روش
FragmentStateAdapter#getItemبهFragmentStateAdapter#createFragmentتغییر نام داد - نام روش قبلی ثابت کرده است که در گذشته منبع اشکال بوده است. - مقدار
OFFSCREEN_PAGE_LIMIT_DEFAULTاز0به-1تغییر کرد. در صورت استفاده از ثابتOFFSCREEN_PAGE_LIMIT_DEFAULT، نیازی به تغییر کد مشتری نیست.
رفع اشکال
- وقتی
SCROLL_STATE_SETTLINGتوسط یک کشیدن در جهت مخالف قطع شود، رفتارgetCurrentItem()تصحیح شد. - مشکلات بارکننده کلاس
FragmentStateAdapterکه در زمینه «فعالیتها را حفظ نکنید». - اسناد
setOffscreenPageLimitبهبود یافته است.
نسخه 1.0.0-alpha04
7 مه 2019
androidx.viewpager2:viewpager2:1.0.0-alpha04 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
-
offscreenPageLimit: امکان کنترل دقیق تعدادViewصفحه/Fragmentدر سلسله مراتب مشاهده را فراهم می کند.
API تغییر می کند
-
orientationو ویژگیهایisUserScrollableدیگر بخشی ازSavedStateنیستند - متدهای
saveStateوrestoreStateدرFragmentStateAdapterنهایی شدند - حاشیه نویسی
ViewPager2.OrientationوViewPager2.ScrollStateغیر عمومی شده است
رفع اشکال
-
SavedState: یک مشکل در بازیابی زمانی کهActivityاز بین می رود / دوباره ایجاد می شود برطرف شد -
SavedState: بازیابی با تأخیر تا زمانی که آداپتور تنظیم شود -
OnPageChangeCallback: موارد لبه کوچک رفع شده است
نسخه 1.0.0-alpha03
3 آوریل 2019
androidx.viewpager2:viewpager2:1.0.0-alpha03 منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
- امکان اسکرول برنامهنویسی ViewPager2:
fakeDragBy(offsetPx).
API تغییر می کند
- اکنون
FragmentStateAdapterبه یک شیءLifecycleنیاز دارد. دو سازنده ابزار برای به دست آوردن آن از HostFragmentActivityیا HostFragmentاضافه شدند.
رفع اشکال
- تعداد زیادی رفع پشتیبانی
Fragment:- مدیریت بهروزرسانیهای مجموعه داده در حین به حداقل رساندن، یا در حین چرخش صفحه.
- حذف قطعات نامربوط پس از چرخش.
- حذف وضعیت ذخیره شده موارد حذف شده
-
PageChangeCallback: محاسبه افست صفحه ثابت برای صفحات دارای حاشیه.
نسخه 1.0.0-alpha02
13 مارس 2019
androidx.viewpager2:viewpager2:1.0.0-alpha02 منتشر شد. لیست کامل commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
- امکان غیرفعال کردن ورودی کاربر (
setUserInputEnabled،isUserInputEnabled)
API تغییر می کند
- نهایی کلاس ViewPager2
رفع اشکال
- رفع پایداری
FragmentStateAdapter
نسخه 1.0.0-alpha01
7 فوریه 2019
androidx.viewpager2:viewpager2 1.0.0-alpha01 منتشر شد. این اولین نسخه ViewPager2 است.
ویژگی های جدید
- در مقایسه با نسخه قبلی خود
android.support.v4.view.ViewPager(VP1):- پشتیبانی از طرح بندی راست به چپ (RTL).
- پشتیبانی از جهت گیری عمودی
-
notifyDataSetChangedکاملاً کاربردی (اشکالات VP1 رفع شده است)
API تغییر می کند
-
FragmentStateAdapterجایگزینFragmentStatePagerAdapterمی شود -
RecyclerView.AdapterجایگزینPagerAdapterمی شود -
registerOnPageChangeCallbackجایگزینaddPageChangeListenerمی شود
مسائل شناخته شده
- clipToPadding
- بدون کشیدن جعلی
- JavaDoc
- پیمایش تو در تو موازی با جهت
- بدون کنترل محدودیت خارج از صفحه
- نیاز به ادغام TabLayout بهتر دارد
- تنظیمکننده پهنای صفحه (اجباری 100%/100%)
- ترانسفورماتور صفحه: بدون انتخاب لایه سخت افزاری/نرم افزاری. بدون ترتیب ترسیم معکوس
- هنگام درج یک صفحه قبل از فعلی، مورد فعلی را قابل مشاهده نگه دارید
- ناوبری صفحه کلید نیاز به کار دارد
- پایداری
FragmentStateAdapter/ بهبود عملکرد در راه است