آموزش Swipe Cards در برنامه نویسی اندروید

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش Swipe Cards در برنامه نویسی اندروید می پردازیم شاید Swipe Cards واژه تازه باشد که تا به حال آن را نشنیده باشید. از Swipe Cards در برنامه Tinder استفاده شده است Swipe Cards باعث متریال دیزاین شدن اپلیکیشن شما می شود توصیه می کنم از این آموزش در بخشی از برنامه خود استفاده کنید در ادامه می توانید پیش نمایشی از Swipe Cards را مشاهده کنید با ما هرماه باشید.
 

 
در این آموزش ما از دو کتاب خانه قدرتمند به نام های

  • glide (برای لود کردن عکس ها)
  • swipecards

استفاده می کنیم.
خب باید کتاب خانه ها را به پروژه اضافه کنیم.
وارد فایل Build.gradle از نوع Module شده سپس در بخش dependencies خط های زیر را اضافه کنید.

پروژه را sync کنید.
وارد فایل AndroidManifest.xml شده سپس دسترسی های زیر را اضافه کنید.

در layout خود یک فایل به نام item.xml ایجاد کرده و کدهای زیر را در آن قرار دهید.

ممکن است در کد بالا خطاهایی داشته باشد ادامه دهید خطاها کم کم حذف می شوند در پروژه از یکسری عکس استفاده شده است در ادامه می توانید آنها را دانلود کنید سپس بعد از دانلود در پوشه drawable قرار دهید.
لینک دانلود
در پوشه drawable یک فایل به نام shape.xml ایجاد کرده و کدهای زیر را در آن قرار دهید.

درهمان پوشه یک فایل دیگر به نام shape1.xml ایجاد کرده و کدهای زیر را در آن قرار دهید.

و در آخر دوباره در همان پوشه یک فایل دیگر به نام shape2.xml ایجاد کرده و کدهای زیر را در آن قرار دهید.

یک کلاس جاوا به نام Data ایجاد کرده و کدهای زیر را در آن قرار دهید.

کد بالا به model یا کلاس getter و setter نیز معروف است.
وارد اکتیویتی اصلی شده (در اینجا نام آن برابر با activity_main.xml است ) و کدهای زیر را در آن قرار دهید.

در بالا SwipeFlingAdapterView یا همان SwipeView قرار گرفته است که با درگ به سمت چپ و راست به عکس بعدی می رود.
و در آخر وارد فایل MainActivity.java شده و کدهای زیر را در آن قرار دهید.

در بالا ابتدا یکسری داده تست به به swipeview داده شده است (feed) و هر کارد شامل یک عکس و متنی است اگر متن کمی طولانی باشد به صورت اتوماتیک یک scrollview به زیر هر swipeview  اضافه می شود (این کار اتوماتیک نیست کدش در بالا نوشته شده است) برای اینکه هر داده قرار بگیرد ابتدا باید position هر view به دست بیاید که در بالا این کار توسط void ی به نام getView انجام شده است و در آن layout که ساختیم Inflate می شود. هر swipeview دو مشخصه دارد onLeftCardExit و onRightCardExit در بالا برای هر آینم رویداد کلیک نیز تعریف شده است.
 
این آموزش به پایان رسید.
 
موفق و موید باشید.

مطالعه بیشتر