چرا ViewPager جزء ضروری ترین ابزار های رابط کاربری است؟
طراحی رابط های کاربری چندمرحلهای، صفحات معرفی اپلیکیشن (Onboarding Screens)، تب های دسته بندی و گالری تصاویر بخش جداییناپذیر برنامه هایی مدرن هستند. ابزار ViewPager در سیستمعامل اندروید مکانیزمی استاندارد برای جابهجایی افقی میان صفحات است که تسلط بر آن گامی کلیدی در مسیر آموزش برنامه نویسی اندروید به شمار میرود.
با استفاده از ویوپیجر، توسعه دهندگان میتوانند تجربه کاربری را به طور چشمگیری ارتقا دهند؛ چرا که کاربر بدون نیاز به باز و بسته کردن چندین صفحه یا کلیک مداوم روی دکمه ها، میتواند محتوای دسته بندیشده را با یک حرکت انگشت ورق بزند. هنگامی که ویوپیجر در کنار مؤلفه های مدرنی همچون الگوی معماری MVVM در اندروید قرار میگیرد، مدیریت حالت داده ها در هر صفحه به شکل کاملاً استاندارد و ایزوله صورت میپذیرد.
ViewPager2 که بر پایه ساختار قدرتمند RecyclerView توسعه یافته، امکاناتی نظیر اسکرول عمودی و بهینه سازی فوقالعاده حافظه را در اختیارتان میگذارد.
آشنایی با آداپترهای اختصاصی ViewPager
هسته اصلی هدایت داده ها در ویوپیجر، آداپترها هستند. بسته به اینکه محتوای صفحات شما از جنس Viewهای ساده هستند یا نیازمند ساختار پیشرفته فرگمنت ها میباشید، گزینه های متفاوتی در دسترس است:
- PagerAdapter: مناسب برای اسلایدرهای تصویری سبک یا بنرهای تبلیغاتی که تنها شامل چند ImageView و متن ساده هستند.
- FragmentPagerAdapter: مناسب برای تعداد صفحات اندک و ثابت (مثل ۳ الی ۴ تب اصلی) که فرگمنت ها در تمام طول اجرا در حافظه نگه داری میشوند. برای درک عمیقتر چرخه حیات این صفحات، پیشنهاد میشود مبحث آموزش فرگمنت در اندروید (قسمت اول) را مطالعه فرمایید.
- FragmentStatePagerAdapter: بهترین انتخاب برای صفحات داینامیک و پرشمار؛ این آداپتر به طور هوشمند صفحات دور از دید کاربر را از رم آزاد کرده و وضعیت حالت آنها را ذخیره مینماید تا مانع کرش برنامه شود.
اتصال به TabLayout و شخصی سازی انیمیشن ها
یکی از متداولترین الگو های بصری اندروید، همگام سازی ViewPager با TabLayout از کتابخانه Material Components است که در نسخه های مدرن تر با اصول آموزش ناوبری در جت پک کامپوز پیاده سازی می گردد. با فراخوانی متد setupWithViewPager()، عنوان هر تب به طور خودکار با متد getPageTitle() در آداپتر همگام شده و کلیک روی تب ها باعث حرکت نرم اسلایدر میشود.
همچنین با تعریف کلاس های سفارشی ViewPager.PageTransformer میتوانید افکت های حرکتی هیجانانگیزی نظیر بزرگنمایی یا چرخش سه بعدی را به انیمیشن های ورق خوردن صفحات اضافه کنید؛ قابلیتی که در فریم ورک های جدیدتر با آموزش جامع Jetpack Compose به صورت اعلانی با نهایت سادگی در دسترس است.
امتیاز و نظرات
هنوز نظری ثبت نشده است. اولین نفر باشید.