آشنایی با مفهوم متریال دیزاین در اندروید
به نام خدا
متریال دیزاین (Material Design) چیست؟
متریال دیزاین یک سَبک/زبان طراحی است که گوگل آن را در کنفرانس خبری خود در سال ۲۰۱۴ معرفی کرد. قطعا با سبک فلت یا تخت (Flat Design) در سیستم عامل ویندوز (از ویندوز ۸ به بعد) آشنا شده اید. سبک متریال تا حدود زیادی مشابه سبک فلت است با این تفاوت که در سبک متریال مفاهیمی مانند عمق، سایه، انیمیشن و … اضافه شده است. این سبک در ابتدا در اپلیکیشن های گوگل مانند Gmail و YouTube پیاده سازی و به مخاطب معرفی شد و خیلی زود توسعه دهندگان هم از متریال دیزاین استقبال کرده و رابط کاربری اپلیکیشن های خود را با این سبک بازطراحی کردند. متریال دیزاین پس از مدتی از سیستم عامل اندروید فراتر رفته و در حال حاضر برخی از وب سایتها نیز طراحی رابط کاربری خود را به سبک متریال انجام داده اند. متریال دیزاین ساده و جذاب است و کاربر هنگام کار با اپلیکیشن یا وب سایتی که به این سبک طراحی شده از تعامل با اِلمان های رابط کاربری مانند دکمه، منو و…، لذت بیشتری تجربه می کند. در بحث رنگها لازم است از رنگهای خاص و استاندارد استفاده کنیم و علاوه بر آن نحوه ترکیب و قرارگیری رنگها در کنار یکدیگر نیز دارای اهمیت است. توصیه می کنم چند دقیقه ای در مورد متریال دیزاین و پالت رنگ این سبک در وب جستجو کنید (در خصوص رنگها احتمالا در جستجوی لاتین به نتایج بهتری برسید از جمله: material design colors). همچنین در این سبک، آیکونهای بکار رفته در طراحی UI باید تا حد امکان ساده و یک رنگ باشند و آیکونهای رنگی و پیچیده در این سبک جایگاهی ندارند (این قاعده شامل آیکون اصلی اپلیکیشن نمی شود).
در حال حاضر اکثر اپلیکیشن های موجود در مارکت های اندرویدی، از این سبک بهره می برند و اغراق نیست بگویم امروز اگر اپلیکیشن شما به این شیوه طراحی نشده باشد، با استقبال کمی از کاربران روبرو خواهید شد.
متریال دیزاین در اندروید (Android Material Design):
متریال دیزاین از اندروید ۵٫۰ (API 21) در اختیار توسعه دهندگان قرار گرفت. یعنی نسخه های ۵٫۰ و بالاتر به صورت بومی از متریال دیزاین پشتیبانی می کنند. اما نسخه های قبل از ۵ در حالت عادی از متریال دیزاین پشتیبانی نمی کنند که گوگل برای رفع این مشکل کتابخانه appcompat v7 را تهیه کرده است. با اضافه شدن این کتابخانه به پروژه اندروید، اکثر ویژگی های مربوط به متریال دیزاین در نسخه های قدیمی نیز اعمال می شود. البته استثنائاتی نیز وجود دارد که لازم است پروژه خود را روی نسخه های مختلف تست کنید تا مطمئن شوید اعمال نشدن یک یا چند خاصیت متریال دیزاین در نسخه های قبل از ۵٫۰، مشکلات جدی برای اپلیکیشن ایجاد نمی کند.
کتابخانه appcompat-v7 به صورت پیش فرض به پروژه اندرویدی اضافه می شود و اگر چنین نبود، لازم است خودمان آن را اضافه کنیم.
نکته : اگر در گذشته با اکلیپس برای اندروید برنامه توسعه داده اید احتمالا بخاطر دارید حجم خروجی apk یک پروژه ساده (اصطلاحا Hello World) چیزی در حدود چند ده کیلوبایت بود اما در حال حاضر حداقل حجم یک پکیج اندرویدی بالای ۱ مگابایت است که علت آن ضمیمه شدن appcompat است. کافیست این کتابخانه را از پروژه حذف و مجدد build کنید. خواهید دید حجم پکیج به مقدار زیادی کاهش می یابد.
همانطور که اشاره شد، متریال دیزاین یک سبک و مفهوم است اما در اندروید ما خیلی با پیاده سازی جزئیات (مگر در مواقعی که خودمان قصدش را داشته باشیم) سروکار نداریم. به عنوان مثال یک Button به اکتیویتی پروژه خود اضافه کرده و بدون هیچ تغییری اجرا کنید. سایه حاشیه دکمه را حتما می بینید. حالا انگشت خود را روی دکمه نگه دارید. عمق دکمه تغییر کرد و انگار دکمه به انگشت شما نزدیکتر شد. حالا دکمه را رها کنید. از محلی که انگشت رها شده به اطراف دکمه یک انیمیشن (Animation) اجرا می شود (تصویر ۱_button.gif).
نکته : بدلیل عدم نمایش تصاویر متحرک در فرمت PDF، مانند پاراگراف قبل نام تصویر مربوطه داخل پرانتز قید شده که این تصاویر در پوشه Gifs قرار دارند.
اندروید این قابلیتها را برای ما فراهم کرده و ما بجای تمرکز بر پیاده سازی جزئیات، بیشتر در پیاده سازی ابزار و ویجت های متریال تمرکز داریم که در ادامه آموزش به ترتیب با موارد مهم و پرکاربرد آشنا می شویم.
در ادامه چند تصویر از اپلیکیشن هایی که به سبک متریال پیاده سازی شده اند را قرار داده ام:
امیدوارم با مطالعه این توضیحات و زحمتی که به خود داده اید تا چند دقیقه ای را در گوگل به دنبال متریال دیزاین بگردید، تفاوت کلی یک اپ متریال با غیر متریال را درک کرده باشید. متریال دیزان مبحث بسیار وسیع و گسترده ای است و در کنار مطالعه این آموزش، با مطالعه مقالات و مثالهای فارسی و انگلیسی می توانید تسلط مطلوبی بر این قسمت داشته باشید.
تعداد صفحات : ۶
حجم : ۱٫۴ مگابایت
قیمت : رایگان
دانلود رایگان با حجم ۱٫۴ مگابایت لینک کمکی
با عرض سلام خدمت شما ،بنده خاصیت text ,textsize,و بسیاری از خاصیت های دیگرو در اندروید استادیو خودم ندارم به چه صورت میتونم این خاصیت ها را اضافه کنم برای ویرایش ویوها
یه سوال دیگم داشتم در نسخه جدی موقع کانستریت کردن ویوها در رابط کاربری ویوها حذف میشود و کل صفحه ناپدید میشه ولی در نسخه قدیمی همچین مشکلی ندارم علت چیست ؟
ممکنه اشتباه استفاده میکنید ازشون. سورس کد رو با دقت بررسی کنید. ببینید با :android شروع میشه یا چیز دیگه ای.
در خصوص مورد دوم هم با این مشکل مواجه نشدم و راه حلی سراغ ندارم
سلام من داخل یک برنامه از card view استفاده کردم اما وقتی برنامه رو روی اندروید ها کم تر از lollipop اجرا میکنم card view. نمایش داده نمیشه و فقط یک زمینه ی سیاه دیده میشه. باید چیکار کنم؟ توی اپ هایی مثل دیوار یا دیجی کالا از کارد ویو استفاده شده و روی تمام دیوایس ها مشکلی نداره
پروژه ای که همراه با آموزش هست رو اجرا کنید ببینید بازهم این مشکل وجود داره؟ ممنون
خیلی ممنون بابت توضیحاتتون موفق و سر بلند باشید
سلام. از زحمات شما سپاسگذارم.
سلام دوست عزیز. از زحمت های شما سپاسگزارم. لطفا مباحث تکمیلی (۷۰ درصد باقیمانده) را زودتر آپلود کنید.