هم اکنون عضو شوید

ورود

فراموشی گذرواژه

گذروازه خود را فراموش کردید ؟

ورود

عضو شوید

با عضویت در سایت از امکانات فوق العاده بهرمنده خواهید شد.

طراحی متریال دیزاین با RecyclerView و CardView

طراحی متریال دیزاین با RecyclerView و CardView

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش طراحی متریال دیزاین با RecyclerView و CardView خواهیم پرداخت آموزش های متفاوتی از RecyclerView و CardView برای شما قرار دادیم که برای دسترسی به آنها می توانید واژه RecyclerView را در سایت جستجو کنید در ادامه پیش نمایشی از این آموزش را خواهید دید با ما همراه باشید.

 

همانطور که قبلا هم گفته بودیم طراحی از نوع  RecyclerView و CardView باعث متریال دیزاین شدن اپلیکیشن می شود این نوع طراحی توسط گوگل معرفی شده است.

 

برای استفاده از آنها باید کتاب خانه ی آنها را به پروژه اضافه کنیم

برای اینکار وارد فایل Build.gradle از نوع Module شده و در بخش dependencies خط های زیر را قرار دهید.

پروژه را sync کنید.

در layout اصلی که در اینجا نام آن برابر با mainactivity.xml است کد های زیر را قرار دهید.

در بالا یک RecyclerView قرار گرفته است.

باید شکل ظاهری هر آیتم را نیز ایجاد کنیم پس یک فایل در همان layout به نام cardview_layout.xml ایجاد کرده و کدهای زیر را در آن قرار دهید.

کد بالا شکل ظاهری آیتم های RecyclerView را تعیین می کند.

باید کلاس model را درست کنیم کار این کلاس این است که مقدار ها را به آداپتور داده و از آنها گرفته

پس یک فایل جاوا به نام ModelItem.java ایجاد کرده و کدهای زیر را در آن قرار دهید.

ما باید به خاطر اینکه شکل ظاهری را خودمان ایجاد کردیم باید آداپتور سفارشی نیز داشته باشیم

پس یک فایل به نام RecyclerAdapter.java ایجاد کرده و کدهای زیر را در آن قرار دهید.

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

حالا باید به MainActivity.java برگشته (اکتیویتی مربوط به layour اصلی) و یکسری داده sample در RecyclerView قرار دهیم.

در ابتدا یک Array تعریف کردیم و یکسری داده sample برای نمایش در RecyclerView قرار داده ایم و آداپتور را تنظیم کردیم.

 

این آموزش هم به پایان رسید.

 

موفق و پیروز باشید.

درباره نویسنده

با زبان های برنامه نویسی C# , Java , Php به صورت تخصصی کار کردم و بیشتر وقتم رو در برنامه نویسی می گذرونم علاقه زیادی به ساخت اپلیکیشن اندروید دارم.

نظرها ( ۹ )

  1. رضا
    ۵, مهر , ۱۳۹۶ در ۹:۲۳ ب.ظ

    سلام
    من تازه شروع به برنامه نویسی اندروید کردم و زیاد وارد نیستم
    اگه من بخوام یک ریسایکلر ویو داشته باشم که اطلاعات رو از دیتا بیس خارجی بخونه چه کدی باید بنویسم ؟
    مثلا یه دیتا بیس داشته باشم که اسم گل رو داشته باشه و عکس گل رو من میخوام اینو تو ریسایکلر ویو نشون بدم مشکلم تو نشون دادن
    تصویر هست که بلد نیستم

  2. mojtaba1376
    ۲۱, دی , ۱۳۹۶ در ۱۰:۲۵ ب.ظ

    سلام من تونستم ریسایکلر ویو رو راه اندازی کنم

    یک سوال برام پیش اومده مثلا در اینستاگرام که یک ایتم عکسه و ویو خاض خودشو داره
    یک ایتم مثلا فیلمه و ویو خاص خودشو داره

    و اینها بین هم قرار میگیره

    یعنی چطوری ایتم های دو تا ریسایکلر رو با هم مخلوط کنم یعنی مثلا دو ایتم یک شکل خاص داشته باشه بعد یک ایتم دیگه با شکل دیگه بیاد

    خیلی سرچ کردم امیدوارم اینجا به جوابم برسم انشاالله 🙂

    ممنون‌

    • محمد حسین جعفری پور
      ۲۲, دی , ۱۳۹۶ در ۱۲:۳۱ ق.ظ

      سلام و درود کار زیاد سختی نیست براساس نوع میان کار می کنن مثلا میان تعریف می کنن ما کلا دو تا Type داریم بعد هر دوتا View رو هم در ریسایکلر ویو قرار میدن و با چک کردن Type یکی از آنها را از hidden در میارن و مثلا ویدیو یا عکس رو توش لود می کن این type همراه با json یا دیتای فرستاده می شود و در برنامه با یک عملگر if منطقی بررسی می شود .

      • mojtaba1376
        ۲۲, دی , ۱۳۹۶ در ۶:۴۲ ق.ظ

        ممنون

        یعنی دو کارد ویو در داخل ریسایکلر قرار بدم؟؟ خب بعد برای هر ریسایکلر میشه یک بار ،setAdapter انجام داد چطور دو آداپتر رو به یک ریسایکلر وصل کنم؟؟؟

        اگر میشه کد مربوط به if رو هم برام قرار بدید ممنون

        پ ن : به این کار اصطلاحا چی می گن؟ برای سرچ در استک اور فلو میخوام بدونم چی سرچ کنم

        • محمد حسین جعفری پور
          ۲۲, دی , ۱۳۹۶ در ۲:۵۳ ب.ظ

          سلام و درود
          ببیند شما باید دوتا View هم ImageView و هم VideoView (رو مثلا) در یک layout قرار دهید هردوتای این View ها در اول کار hidden هستند اگر فکر کنیم ما در یک json یک مقدار به نام Flag داریم که شامل دو مقدار می باشد مثلا Image و Video شما باید بیایید توی بخش آداپتورتون شبیه به همچین چیزی رو پیاده سازی کنید.

          به نظرم اصطلاح خاصی نداره چون یکسری بخش منطقی در کار است و شما باید دو تا Constructor داشته باشید ک یکیش video بگیره و یکی دیگه Image .
          سوالی بود بفرمایید.

          • mojtaba1376
            ۲۲, دی , ۱۳۹۶ در ۸:۱۳ ب.ظ

            سلام ممنون 🙂

            الان اگه درست متوجه شده باشم باید همچین کاری بکنم …

            در لایوتی که شکل ظاهری هر ایتم رو نشون میده مثلا دو تا ویو میزارم هم یک ایمیج ویو هم ویدئو ویو

            بعد موقع ارسال اطلاعات به ریسایکلر مثلا یک متغیر type هم میفرستم بعد موقع نمایش توی اداپتر میگم اگه مثلا type برابر ۱ بود بیاد ایمیج ویو رو نمایش بده ویدئو ویو رو مخفی کنه اگه ۰ بود بیاد برعکس این کار رو بکنه یعنی اطلاعات رو بریزه در ویدئو ویو و ایمیج ویو رو مخفی کنه

            درسته؟ 🙂

          • محمد حسین جعفری پور
            ۲۲, دی , ۱۳۹۶ در ۱۰:۲۳ ب.ظ

            سلام خواهش می کنم
            درسته.