استفاده از list و grid در اندروید با استفاده از recyclerview

استفاده از list و grid در اندروید با استفاده از recyclerviewReviewed by مهرخ on Nov 16Rating: 5.0استفاده از list و grid در اندروید با استفاده از recyclerviewنمایش اجزای list و grid در اپلیکیشن های اندروید از الگوی بسیار ساده ای تبعیت می کند. کاربر می تواند مجموعه ای از آیتم ها را مشاهده و از بین آنها انتخاب کند. مجموعه ی این اطلاعات میتواند به شکل لیست ، شبکه و یا هرگونه ی دیگری از شکل های ارائه ی داده باشد

استفاده از list و grid در اندروید با استفاده از recyclerview

این خود آموز به شما یاد میدهد که چگونه از ویجت recyclerview در اپلیکیشن های اندروید استفاده کنید.

نمایش اجزای list و grid در اپلیکیشن های اندروید از الگوی بسیار ساده ای تبعیت می کند. کاربر می تواند مجموعه ای از آیتم ها را مشاهده و از بین آنها انتخاب کند.

مجموعه ی این اطلاعات میتواند به شکل لیست ، شبکه و یا هرگونه ی دیگری از شکل های ارائه ی داده باشد. چنین فرآیندی در شکل زیر نشان داده شده است:

listview

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

عکس های گرافیکی زیر این مطلب را به خوبی نشان میدهد:

list &gridview

کلاس Recyclerview از نمایش مجموعه ی اطلاعات پشتیبانی  می کند.این کلاس ورژن به روز شده ی کلاس های gridview و listview ست که در چارچوب های اندرویدی ساخته شده اند. Recyclerview مطالب مختلفی راجع به ویجتی که داریم ،ارائه می دهد. نوع برنامه نویسی recyclerview باعث می شود که هنگام راه اندازی برنامه به خوبی اجرا شود. همچنین انیمیشن هایی را به صورت پیش فرض دارد که با استفاده از ان میتوانیم اجزایی را به برنامه اضافه و یا حذف کنیم.

برای انتخاب جایگاه آیتم ها recyclerview برای ما این امکان را فراهم می کند که از layout managers های مختلفی استفاده کنیم.

Recyclerview برای ذخیره سازی رفرنس بازدید ها برای هر ورودی از یک viewholder استفاده می کند.کلاس Viewholder یک کلاس داخلی استاتیک است که در داخل آداپتور قراردارد و رفرنس بازدید ها را ذخیره می کند. با این رفرنس ها به جای استفاده از متد زمان بر findViewById() میتوانید با سرعت بیشتری ویجت ها را با اطلاعات جدید به روز رسانی کنید.

آداپتور مدل های مختلف دیتا را مدیریت می کند و انها را با تک تک ورودی های ویجت تطابق می دهد. و باعث پیشرفت recyclerview می شود. کلاس آداپتور با استفاده از متد RecyclerView.setAdapter  به recyclerview  متصل شده است. ورودی های آداپتورrecyclerview می توانند هر نوع ابجکت انتخابی جاوا باشند. بر اساس این ورودی ها آداپتور باید تمام ایتم ها را از طریق متد getItemCount() باز گرداند.

آداپتور با استفاده از آرایش های درست متناسب با هر کدام از اطلاعات یک آرایش متناسب با آیتم را ارائه می دهد. این فرآیند توسط متد onCreateViewHolder انجام می شود. این متد متناسب با نوع viewholder هر ورودی دیداری در recyclerview یک object را ارائه می دهد.

از یک نمونه برای دسترسی به view ها در inflated layout استفاده می کنیم. هر وقت خواستیم یک view جدید بسازیم از متد onCreateViewHolder استفاده می کنیم.

هر ورودی قابل مشاهده در recyclerview  با اطلاعات درست از آیتم نمونه ی آداپتور پر می شود. هر وقت یک data item قابل مشاهده بود آداپتور اظلاعاتش را به ویجت هایی که از قبل ساخته انتقال می دهد. این فرآیند توسط متد onBindViewHolder انجام می شود.

برای مثال ممکن است یکی از ورودی های لیست در قسمت چپ یک عکس و در قسمت وسط دو خط نوشته داشته باشد. مانند نمونه ی گرافیکی زیر:

entry

 layout file این مدل line به صورت زیر است:

ویجت recyclerview  بخشی از یک library جداگانه برای سطح API 7 و یا بالاتر است.

برای استفاده از recyclerview  ، dependency زیر را به Gradle build file اضافه کنید:

 layout manager مشخص می کند که اطلاعات چگونه در recyclerview نمایش داده شوند.  recycler view library منجر های build-in layout زیر را مشخص می کند:

  • LinearLayoutManager آیتم ها را در لیست افقی یا عمودی نمایش میدهد
  • GridLayoutManager آیتم ها را به صورت شبکه نمایش میدهد.
  • StaggeredGridLayoutManager آیتم ها را به صورت شبکه ی شطرنجی نمایش میدهد.

 

پاسخ دهید