نحوه ایجاد چیدمان چرخشی یا Carousel Layout در برنامه نویسی اندروید

نحوه ایجاد چیدمان چرخشی یا Carousel Layout در برنامه نویسی اندرویدReviewed by آریانا on Dec 25Rating: 5.0نحوه ایجاد چیدمان چرخشی یا Carousel Layout در برنامه نویسی اندرویدCarousel Layout یک موضوع جالب و هیجان انگیز در طراحی رابط کاربری در اندروید می باشد.

Carousel Layout یک موضوع جالب و هیجان انگیز در طراحی رابط کاربری در اندروید می باشد. Carousel Layout  عملکردی مثل یک ViewPager که می تواند برای نمایش محتوا جابه جا شود، دارد با این تفاوت که آیتم مرکزی از آیتم های دیگر بزرگتر به نظر می رسد. این نحوه نمایش به شما یک افکت سه بعدی می دهد.

در این پست من یک نمونه پروژه را که یک CoverFlow  – یک کتابخانه قدرتمند برای ایجاد یک چیدمان چرخشی flow (carousel) layout – را پیاده سازی می کند، ارائه می دهم. و امیدوارم که شما بتوانید از طریق این آموزش طراحی اپلیکیشن های اندرویدی تان را بهبود ببخشید.

Carousel Layout در برنامه نویسی اندروید

وارد کردن library :

CoverFlow به عنوان یک فایل AAR ، Maven Central تحت فشار قرار می دهد ، پس شما باید آن را به محل build.gradle (معمولا در ماژول برنامه قرار می گیرد) وابسته کنید. از آنجایی که این کتابخانه در min-sdk پانزده ساخته می شود، بنابراین پروژه تان در همان محل باید ساخته شود:

build.gradle

 

 طراحی layout:

کلاسی که carousel layout را در کتابخانه ایجاد می کند، کلاس FeatureCoverFlow است. بنابراین آن را در activity layout فایل xml قرار دهید:

activity_main.xml

مانند ListView یا GridView ، FeatureCoverFlow زیرکلاس AdapterView محسوب می شود ، همچنین شامل تعدادی children view نیز می شود. بنابراین شما باید برای هر نمایش آیتم (cover) یک layout با فایل های xml بسازید :

item_flow_view.xml

 

و خروجی هنگام اجرای برنامه به صورت زیر است:

Carousel Layout در برنامه نویسی اندروید

کدهای برنامه نویسی:

نکته ای که در بالا باید به آن توجه داشته باشید این است که FeatureCoverFlow مثل ListView برای ذخیره و نمایش children view هایش  به adapter نیاز دارد. بنابراین کلاس adapter ما باید BaseAdapter را اجرا کند. این کار می تواند مثل ListView adapter ساخته شود. همچنین من یک کلاس ViewHolder  در آن بریا ایجاد یک اسکرول نرم تر و روان تر ایجاد میکنم:

CoverFlowAdapter.java

 

همان طور که در کد بالا مشاهده می کنید، هندل کردن هر کلیک آیتم توسط این خط انجام می شود:

ما باید از این راه به جای coverFlow.setOnItemClickListener(AdapterView.OnItemClickListener clickListener()) در کدهای اکتیویتی استفاده کنیم. در این پروژه من یک Dialog را با CardView برای نمایش جزئیات هر آیتم (Game) هنگام کلیک کردن، نشان می دهم.

توجه کنید که برای استفاده از CardView –یکی از ویژگی های کتابخانه ی پشتیبانی طراحی- شما باید آن را به build.gradle مانند بالا اضافه کنید.

حال به activity code برگردید، شما باید قابلیت اسکرول را برای FeatureCoverFlow هندل کنید.

MainActivity.java

 

برخی فایل های لازم:

در نهایت من برخی فایل های لازم را برای اجرای ادامه پروژه در اختیار شما قرار می دهم.

یک فایل جاوا که باید  از آن به عنوان محتوای هر آیتم  استفاده کنید:

Game.java

 

یک لایه برای سفارش یکردن Dialog ، فقط شامل یک CardView در داخل ، که هنگام کلیک کردن نشان داده می شود :

dialog_game_info.xml

 

پاسخ دهید