آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

طبقه بندی موضوعی

لیوت منیجر در ریسایکلر ویو

سه شنبه, ۲۱ مرداد ۱۳۹۹، ۰۱:۴۳ ب.ظ

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

 

1. LinearLayoutManager

پارامتر دوم میگه نحوه نمایش عمودی هست و پارامتر سوم میگه لازم نیست لیست برعکس شه.

 

LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, RecyclerView.VERTICAL, false);

 

2. GridLayoutManager

 

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

GridLayoutManager gridLayoutManager = new GridLayoutManager(this,5);

میشه برای GridLayout متد setSpanSizeLookup رو استفاده کنیم که یک کال بک هست و توی اون مشخص میکنیم هر آیتم ریسایکلر ویو چه مقدار span داشته باشه. مثلا:

 

gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
    @Override
    public int getSpanSize(int position) {
        if (position == 0){

            return 3;

        }else{

            return 1;
        }
    }
});

اینجا گفته شده که آیتم صفرم، 3/5 و بقیه آیتم ها 1/5 جا بگیرن. (spanCount اینجا 5 هست)

دقت شود که مقداری که برای span هر آیتم ست میکنیم باید کمتر یا مساوی spanCount باشه.

بنابراین شکل زیر رو میشه به راحتی با GridLayout ایجاد کرد.

 

مقاله مدیوم

 

3. StaggeredGridLayoutManager

در این حالت هر آیتم به اندازه محتویاتش جا میگیره. این مدل برای وقتایی که محتوا متغیر هست (مثل عکس با سایزهای مختلف) خیلی خوبه. 

آرگومان اول تعداد ستون ها هست.

StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(4, StaggeredGridLayoutManager.VERTICAL);

 

نتیجه گیری برای دو مورد آخر:

اگر محتوای هر آیتم متغیر بود از StaggeredGridLayoutManager و اگر ثابت بود از GridLayoutManager استفاده شود.

موافقین ۰ مخالفین ۰ ۹۹/۰۵/۲۱
میم دال

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی