متریال دیزاین چیست؟
متریال دیزاین (Material Design) یک زبان طراحی است که توسط گوگل در سال 2014 معرفی شد. این سبک طراحی با الهام از کاغذ و جوهر ایجاد شده و از عمق، سایهها، حرکتهای طبیعی و تعاملات واقعی برای بهبود تجربه کاربری استفاده میکند.
متریال دیزاین ترکیبی از طراحی فلت (Flat Design) و المانهای سهبعدی مانند سایه و نور است که باعث میشود رابط کاربری هم ساده و مینیمال باشد و هم حس فیزیکی و واقعیتری داشته باشد.
هدف متریال دیزاین
متریال دیزاین با هدف ایجاد زبان طراحی یکپارچه بین اندروید، وب و iOS توسعه داده شد تا تجربه کاربری (UX) را بهینه کند. این سبک طراحی روی خوانایی، انعطافپذیری و زیبایی بصری تمرکز دارد.
چرا متریال دیزاین اهمیت دارد؟
- تجربه کاربری (UX) بهتر
متریال دیزاین با استفاده از حرکتهای طبیعی و طراحی روان، باعث میشود کاربران حس بهتری هنگام تعامل با اپلیکیشن داشته باشند. - طراحی یکپارچه در پلتفرمهای مختلف
با متریال دیزاین، میتوان یک طراحی سازگار برای اپلیکیشنهای اندروید، iOS و وب ایجاد کرد که در تمام دستگاهها ظاهر مشابهی داشته باشد. - افزایش تعامل کاربران (User Engagement)
استفاده از افکتها، انیمیشنها و طراحی مینیمال باعث میشود کاربران راحتتر با برنامه کار کنند و تجربه بهتری داشته باشند. - استفاده از رنگهای هوشمند و پویایی بالا
متریال دیزاین دارای یک سیستم رنگبندی قوی است که از رنگهای زنده و کنتراست بالا استفاده میکند و خوانایی را بهبود میبخشد. - طراحی مناسب برای صفحهنمایشهای لمسی
متریال دیزاین برای دستگاههای لمسی بهینه شده و دکمهها و عناصر رابط کاربری دارای فاصله مناسب هستند تا راحتتر لمس شوند. - استفاده از انیمیشنهای طبیعی و روان
متریال دیزاین از حرکتهای واقعی و انیمیشنهای روان استفاده میکند تا تجربهای جذاب و طبیعیتر ارائه دهد. - افزایش استانداردهای طراحی در اپلیکیشنها
گوگل با ارائه Material Guidelines یک استاندارد مشخص برای طراحی معرفی کرده که باعث میشود برنامهها ظاهری مدرن و حرفهای داشته باشند.
متریال دیزاین (Material Design) یک زبان طراحی گوگل است که برای ایجاد رابط های کاربری مدرن، زیبا و یکپارچه در اندروید، وب و سایر پلتفرمها استفاده میشود. این سبک طراحی بر پایهی رنگهای زنده، انیمیشنهای نرم، سایهها و المانهای کارتمانند است.
این سیستم طراحی بر اساس اصول خاصی ساخته شده که به طراحان و توسعهدهندگان کمک میکند رابط کاربری جذاب و کاربردی بسازند.
متریال دیزاین یک سبک طراحی است که با هدف ایجاد تجربهای منسجم و زیبا برای کاربران توسعه داده شده است.
این سبک بر اساس المانهای زیر طراحی شده است:
- لایهها و سایهها: استفاده از سایهها برای ایجاد عمق و برجستهسازی المانها
- انیمیشنهای طبیعی: حرکات نرم و واقعی برای بهبود تجربه کاربری
- طراحی مینیمال: حذف المانهای اضافی و تمرکز بر روی سادگی
- رنگهای هوشمند: استفاده از رنگهای زنده و سازگار با محیط
- آیکونهای متریال: مجموعهای از آیکونهای ساده و قابل فهم
- افکت کلیک (Ripple Effect): ایجاد موجهای زیبا هنگام کلیک روی دکمهها
- پشتیبانی از حالت تاریک (Dark Mode): طراحی زیبا برای محیطهای تاریک
آموزش اضافه کردن متریال دیزاین به پروژهی اندروید

برای استفاده از متریال دیزاین در اندروید، ابتدا باید کتابخانههای متریال را به پروژه اضافه کنیم.
1. افزودن وابستگیهای متریال به پروژه
در build.gradle (Module: app) خط زیر را در قسمت dependencies اضافه کنید:
| { dependencies implementation ‘com.google.android.material:material:1.10.0’ } |
پس از افزودن این وابستگی، پروژه را Sync کنید.
2. استفاده از اجزای متریال دیزاین
- دکمه متریال (Material Button)
<com.google.android.material.button.MaterialButton
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”دکمه متریال”
style=”@style/Widget.MaterialComponents.Button”
android:backgroundTint=”@color/teal_200″/> - فیلد ورودی متریال (TextInputLayout)
<com.google.android.material.textfield.TextInputLayout android:layout_width=“match_parent” android:layout_height=“wrap_content” android:hint=“ایمیل”> <com.google.android.material.textfield.TextInputEditText android:layout_width=“match_parent” android:layout_height=“wrap_content”/> </com.google.android.material.textfield.TextInputLayout> - نوار ابزار متریال (Toolbar)
<com.google.android.material.appbar.MaterialToolbar
android:layout_width=”match_parent”
android:layout_height=”?attr/actionBarSize”
android:background=”?attr/colorPrimary”
app:title=”متریال تولبار”/> طراحی رنگبندی متریال
در فایل colors.xml میتوانید رنگهای متریال را تغییر دهید:<color name=”primaryColor”>#6200EE</color>
<color name=”primaryVariant”>#3700B3</color>
<color name=”secondaryColor”>#03DAC5</color>استفاده از تم متریال
برای اعمال تم متریال دیزاین، فایلthemes.xmlرا ویرایش کنید:
| <style name=”Theme.MyApp” parent=”Theme.MaterialComponents.Light.DarkActionBar”> <item name=”colorPrimary”>@color/primaryColor</item> <item name=”colorSecondary”>@color/secondaryColor</item> </style> |
انیمیشن و تعاملات متریال
یکی از ویژگیهای متریال دیزاین، استفاده از انیمیشنهای روان است.
Ripple Effect .3(افکت کلیک)
افکت کلیک را میتوان با background="?attr/selectableItemBackground" اضافه کرد:
| <androidx.cardview.widget.CardView android:layout_width=”wrap_content” android:layout_height=”wrap_content” android:clickable=”true” android:foreground=”?attr/selectableItemBackground”> </androidx.cardview.widget.CardView> |
4. انیمیشن تغییر فعالیتها
میتوانید هنگام جابجایی بین اکتیویتیها از انیمیشنهای متریال استفاده کنید:
| ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this); startActivity(new Intent(this, SecondActivity.class), options.toBundle()); |
اصول طراحی رابط کاربری متریال دیزاین

متریال دیزاین یک سیستم طراحی استاندارد است که توسط گوگل توسعه یافته و هدف آن ایجاد رابطهای کاربری مدرن، کاربرپسند و زیبا است. این سبک طراحی الهام گرفته از دنیای واقعی و ترکیبی از اصول تایپوگرافی، رنگ، انیمیشن و تعامل است.
در این راهنما، اصول طراحی رابط کاربری متریال دیزاین را بررسی میکنیم تا بتوانید یک UI زیبا و حرفهای بسازید.
- سلسلهمراتب بصری (Visual Hierarchy)
طراحی باید به گونهای باشد که کاربر با یک نگاه متوجه اهمیت بخشهای مختلف شود.
استفاده از اندازه، رنگ، سایهها و فاصلهگذاری مناسب برای برجستهسازی عناصر مهم.
مثال: استفاده از تایپوگرافی متریال
<TextView
android:text=”عنوان مهم”
android:textAppearance=”?attr/textAppearanceHeadline6″/>متنهای مهم را بزرگتر و پررنگ کنید تا کاربر متوجه اهمیت آن شود.
از رنگهای متضاد برای ایجاد تمایز استفاده کنید. - رنگبندی استاندارد متریال دیزاین (Material Color System)
استفاده از رنگهای اصلی (Primary) و ثانویه (Secondary) برای هماهنگی رابط کاربری.
توجه به کنتراست بالا برای خوانایی بهتر.
مثال: تعریف رنگها درcolors.xml
<color name=”primary”>#6200EE</color>
<color name=”primaryVariant”>#3700B3</color>
<color name=”secondary”>#03DAC5</color>
<color name=”background”>#FFFFFF</color>
<color name=”textColor”>#000000</color>رنگ اصلی برای نقاط کلیدی رابط کاربری استفاده میشود.
رنگ پسزمینه و متن باید کنتراست کافی داشته باشند تا خوانایی بهتری داشته باشند.
- تایپوگرافی خوانا و استاندارد (Typography in Material Design)
استفاده از فونتهای استاندارد و اندازههای متناسب.
رعایت فاصلههای مناسب بین خطوط برای خوانایی بهتر.مثال: استفاده از تایپوگرافی متریال در
styles.xml
<style name=”TextAppearance.App.Title” parent=”TextAppearance.MaterialComponents.Headline6″/>
<style name=”TextAppearance.App.Body” parent=”TextAppearance.MaterialComponents.Body1″/>تایپوگرافی باید سازگار با دستگاههای مختلف و خوانا باشد.
- استفاده از سایه و عمق (Elevation & Shadows)
متریال دیزاین از سایهها و ارتفاع (Elevation) برای نمایش عمق استفاده میکند.
هر عنصر باید در سطح مناسب خود قرار بگیرد تا حس لایهبندی طبیعی ایجاد شود.مثال: سایه دادن به یک
CardView
<androidx.cardview.widget.CardView
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
app:cardElevation=”8dp”>
</androidx.cardview.widget.CardView>استفاده از ارتفاع و سایهها به کاربران کمک میکند تا لایههای مختلف رابط را بهتر درک کنند.
- انیمیشنهای معنادار و طبیعی (Meaningful Motion)
انیمیشنها باید هدفمند و نرم باشند.
حرکات باید طبیعی و منعطف باشند، نه ناگهانی و غیرطبیعی.
مثال: انیمیشن تغییر صفحه در متریال دیزاین
ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this);
startActivity(new Intent(this, SecondActivity.class), options.toBundle());استفاده از انیمیشنهای روان و کاربردی باعث بهبود تجربه کاربری میشود.
- طراحی واکنشگرا (Responsive Design)
رابط کاربری باید در موبایل، تبلت و دسکتاپ بدون مشکل اجرا شود.
استفاده از ConstraintLayout و Flexbox باعث میشود که UI روی اندازههای مختلف صفحه درست نمایش داده شود.
مثال: استفاده ازConstraintLayoutبرای واکنشگرایی<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=”match_parent”
android:layout_height=”match_parent”><Button
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”دکمه واکنشگرا”
app:layout_constraintBottom_toBottomOf=”parent”
app:layout_constraintEnd_toEndOf=”parent”
app:layout_constraintStart_toStartOf=”parent”/>
</androidx.constraintlayout.widget.ConstraintLayout>این روش اطمینان میدهد که رابط کاربری در تمام اندازههای صفحه به درستی نمایش داده شود.
- استفاده از المانهای استاندارد متریال (Material Components)
متریال دیزاین المانهای از پیش آمادهای برای رابط کاربری ارائه میدهد.
استفاده از این المانها باعث یکپارچگی و سازگاری بهتر طراحی میشود.
مثال: استفاده ازFloatingActionButton(FAB)
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:src=”@drawable/ic_add”/>دکمههای متریال باعث افزایش یکدستی و زیبایی طراحی میشوند.
- رعایت اصول تجربه کاربری (UX Principles in Material Design)
طراحی باید ساده، کاربرپسند و بدون پیچیدگی باشد.
عناصر باید قابل فهم و در دسترس باشند.
مثال: استفاده از دکمه بازخورد بصری (Ripple Effect)<androidx.cardview.widget.CardView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:clickable=”true”
android:foreground=”?attr/selectableItemBackground”>
</androidx.cardview.widget.CardView>با این روش، کاربران هنگام لمس دکمه بازخورد بصری دریافت میکنند.
- سازگاری با قابلیتهای دسترسپذیری (Accessibility – a11y)
رابط کاربری باید برای همه کاربران، از جمله افراد دارای معلولیت، قابل استفاده باشد.
استفاده از متن جایگزین، کنتراست بالا، اندازه متن مناسب و قابلیت خواندن با صفحهخوان الزامی است.
مثال: اضافه کردن توضیح صوتی برای کاربران کمبینا
<Button
android:contentDescription=”این دکمه برای ارسال پیام است”
android:text=”ارسال پیام”/>این توضیح صوتی به کاربران کمبینا کمک میکند تا عملکرد دکمه را درک کنند.
نتیجهگیری
متریال دیزاین یک سیستم طراحی قدرتمند و استاندارد است که باعث زیبایی، کاربرپسندی و یکپارچگی در رابطهای کاربری میشود. با رعایت اصول زیر، میتوانید یک UI حرفهای و مدرن طراحی کنید:
✔ رعایت سلسلهمراتب بصری
✔ انتخاب رنگبندی مناسب و تایپوگرافی خوانا
✔ استفاده از سایهها و عمق برای نمایش لایهبندی
✔ بهکارگیری انیمیشنهای روان و طبیعی
✔ طراحی واکنشگرا برای نمایش بهتر در همه دستگاهها
✔ استفاده از کامپوننتهای استاندارد متریال
✔ بهبود تجربه کاربری و رعایت اصول دسترسپذیری
با رعایت این اصول، یک رابط کاربری مدرن، زیبا و کاربردی طراحی کنید!
