پیاده سازی BubbleTabBar و تنظیم با ViewPager2 در اندروید

در هر صفحه موجود در اندروید میتوان چند نوع محتوا را نشان داد و با استفاده از ابزارهای مانند BubbleTabBar میتوان آنها را مدیریت کرد. این محتوا ها را میتوان با استفاده از ابزار ViewPager2 نمایش داد و انیمیشن های برای سویپ بین آنها ایجاد کرد. اما بهتر است این موضوع را ابتدا از اول بررسی کنیم و بدانیم چرا باید از این ابزارها استفاده کنیم.

تلفن های هوشمند به دلیل کوچک بودن صفحه نمایش شان, اطلاعات کمتری را میتوانند به کاربران نمایش بدهند. هر صفحه در یک اپ اندرویدی از یک Activity تشکل میشود. دغدغه تمام توسعه دهندگان بخاطر کمبود فضا, استفاده از تمامی ظرفیت ممکنه در یک activity بود. در یک اکتیویتی امکان جابه جای نرم بین صفحات وجود نداشت, به همین دلیل Fragment ها را ایجاد شدند, تا بتوانند محتوا های جداگانه ای در یک اکتیویتی نشان بدهند. بعد از ایجاد صفحاتی با چند نوع محتوا فلسفه تب بندی این محتوا ها شروع شد.

چرا باید چند نوع محتوا در یک صفحه نمایش بدهیم؟

صفحه اصلی هر اپلیکیشن پر ترافیک ترین بخش آن حساب میشود و از این رو یکی از مهمترین صفحات میباشد. در این صفحه باید مسیر جابه جایی بین صفحات اپ را چینش داد و مهمترین اطلاعات را در آن برای کاربران نمایش داد. بخش های مهم زیادی در هر پروژه ای وجود دارد و نمیتوان همه آنها را در یک بخش به کاربران نمایش داد و اصلا این کار اصولی نیز نمیباشد چرا که باعث سنگینی صفحه میشود و هنگام سویپ صفحه ممکن است لگ در روند اجرای ایجاد شود. یا اگر بخواهیم برای هر بخش صفحات کاملا اختصاصی بزنیم, اولویت ها را از بین میبریم و ممکن آن تعاملی که نیاز داشتیم را بدست نیاوریم. در بالا توضیح دادیم که به دلیل کمبود فضای نمایش و بخشبندی محتوا ها ابزارهای وجود دارند که این امکان را ایجاد میکنند تا در یک اکتیویتی بتوان صفحات کامل جدا با محتوای های کاملا متفاوت را نمایش داد.

ابزارهای مدیریت محتواها

برای داشتن محتوای چندگانه در یک اکتیویتی, بهترین راه حل این است که برای هر بخش محتوایی, یک Fragment ایجاد کنیم. فرگمنت شباهت زیادی به اکتیویتی دارد و به همین دلیل میتواند کنترل زیادی برای هر بخش محتوای برای ما ایجاد کند. به راحتی میتوان تعداد زیادی از فرگمنت ها را در هر صفحه استفاده کرد. اگر این تعداد بالا برود دیگر نمیتوان بصورت دستی آنها را مدیریت کرد و نیاز داریم تا از ابزارهایی که برای اینکار وجود دارند استفاده کنیم.

مدیریت فرگمنت ها با ViewPager2

در عادی ترین حالت و بدون استفاده از ابزار خاصی برای نمایش فرگمنت ها باید بصورت دستی اینکار را انجام بدهیم که می بایست ما تمامی مراحل نمایش, جایگزینی و حذف fragmentها را انجام بدهیم. اگر این تعداد کم باشد شاید بتوان براحتی اینکار را انجام داد اما اگر این تعداد بیشتر شود باید زمان زیادی برای مدیریت آنها گذاشت و ممکن است در شرایط مختلف بدرستی کار نکند. البته یک برنامه نویس حرفه ای این را باید مد نظر داشته باشد که باید پروژه ی خود را بطوری توسعه دهد که بعدا بتوان براحتی بخش های زیادی به آن با کمترین زحمت اضافه کرد.

اما در حالت پیشرفته ما میتوانیم از ViewPagerها استفاده کنیم که تمامی مراحل مدیریت این fragmentها را بصورت کامل انجام میدهد. برای استفاده از ViewPager2 تنها نیاز است لیستی از Fragmentها خود ایجاد کنیم و adapter مخصوص ViewPager2 را با آن کانفیگ کنیم.

نام گذاری فرگمنت ها با BubbleTabBar

نمایش دادن فرگمنت ها قسمتی از میباشد و شاید شما نیاز داشته باشید برای هر فرگمنت یک نامی را در نظر بگیرید. یا برای نامگذاری یک بخشی را تنظیم کنید که نام را همراه با یک دکمه برای کاربر نمایش بدهد. یا نیاز داشته باشید که علاوه بر سویپ کردن بتوان از این دکمه ها هم برای جابجایی بین فرگمنت ها استفاده کرد. در این حالت نیاز داریم که خودمان این چنین ابزاری طراحی کنیم یا از Libraryها, یا از ابزارهای خود اندروید برای این کار بهره بگیریم. ابزارهای مختلفی برای اینکار وجود دارد, هر کدام شکل و گرافیک خاص خود را دارند و ممکن است بر اساس نیاز هم بخواهیم آنها را فیلتر کنیم.

 

BubbleTabBar

 

یکی از زیبا ترین ابزار هایی که این کار را به راحتی برای ما انجام میدهد, ابزاری بنام BubbleTabBar است. در بالا میتوانید نمونه ای از آن را ببینید که به چه شکلی این نام ها را به کاربر نمایش میدهد. BubbleTabBar دارای انیمیشن خاص خود می باشد و میتوانید برای هر عنوان یک آیکن و رنگ خاصی را نمایش بدهد.

چرا این آموزش

آموزش های مختلفی برای چنین موارد یا ابزارهای وجود دارد, تمامی این آموزش ها, ابزارها را بصورت کاملا سطحی بررسی میکنند. این آموزش که در دسترس شما قرار دارد ابزار BubbleTabBar و ViewPager2 را کامل در سطح پیشرفته و در شرایط مختلف به چالش کشیده است. حتی خود بخش Fragmentها را هم در سطح پیشرفته آموزش داده ایم. بعد از یادگیری مباحث درون این آموزش شما قادر خواهید بود که از تمامی ابزارهای مشابه براحتی در شرایط مختلف استفاده کنید.

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر نیاز است تا ابتدا وارد سایت شوید.

هیچ نظری ارسال نشده است.

قیمت آموزش
۸,۰۰۰ تومان
نوع دسترسی
نقدی

این مقاله در حال حاضر تنها به روش نقدی در دسترس می باشد.

ناصر خالدی
مدرس دوره

ناصر خالدی

مهندس شبکه, امنیت, برنامه نویسی تلفن های هوشمند, طراح وب سایت و متخصص هوش مصنوعی

گفتگوی برنامه نویسان

بخشی برای حل مشکلات برنامه‌نویسی و مباحث پیرامون آن

مقالات پیشنهادی

هوش مصنوعی

هوش مصنوعی یا هوش ماشینی, به هوشمندی نشان داده شده توسط ماشین در شرایط مختلف گفته میشود که مقابل هوش طبیعی در انسان ها قرار دارد که ...


۸۶۱
۰
۱۱ آذر ۱۳۹۹

بک لینک چیست؟

بک لینک (Back Link) به لینک دادن یک سایت به سایت دیگر گفته میشود که یک فاکتور مهم و اساسی در سئو هر سایتی می باشد.


۹۹۲
۰
۲۲ آذر ۱۳۹۹

وردپرس

وردپرس یک سیستم مدیریت محتوای قوی می باشد که با استفاده از آن می توان وب سایت ها و وبلاگ های گوناگونی با هر شرایطی را طراحی کرد چرا که این سیستم و ...


۸۰۸
۰
۱۳ آذر ۱۳۹۹

هک و امنیت

در تعریف کلی این واژه می توان گفت که به پیدا کردن راه های نفوذ به یک حریم شخصی و استفاده غیر مجاز از آن را هک می نامیم. هدف از هک می تواند ...


۹۵۹
۰
۱۳ آذر ۱۳۹۹

Fatal error: Uncaught wfWAFStorageFileException: Unable to verify temporary file contents for atomic writing. in /home/clonerco/public_html/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php:52 Stack trace: #0 /home/clonerco/public_html/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php(659): wfWAFStorageFile::atomicFilePutContents('/home/clonerco/...', '<?php exit('Acc...') #1 [internal function]: wfWAFStorageFile->saveConfig('livewaf') #2 {main} thrown in /home/clonerco/public_html/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php on line 52