Desain Material adalah panduan komprehensif untuk desain visual, gerakan, dan interaksi di seluruh platform dan perangkat. Untuk menggunakan Desain Material di aplikasi Android Anda, ikuti panduan yang ditetapkan dalam spesifikasi Desain Material. Jika aplikasi Anda menggunakan Jetpack Compose, Anda dapat menggunakan library Compose Material 3. Jika aplikasi Anda menggunakan tampilan, Anda dapat menggunakan library Komponen Material Android.
Android menyediakan fitur berikut untuk membantu Anda mem-build aplikasi Desain Material:
- Tema aplikasi Desain Material untuk menetapkan gaya semua widget UI Anda
- Widget untuk tampilan kompleks, seperti daftar dan kartu
- API untuk bayangan dan animasi kustom
Tema dan widget material
Untuk memanfaatkan fitur Material, seperti penataan gaya untuk widget UI standar, dan untuk menyederhanakan definisi gaya aplikasi, terapkan tema berbasis Material ke aplikasi Anda.
Jika Anda menggunakan Android Studio untuk membuat project Android, tema Material akan diterapkan secara default. Untuk mempelajari cara memperbarui tema project, lihat Gaya dan tema.
Untuk memberikan pengalaman yang tidak asing bagi pengguna, gunakan pola UX Material yang paling umum:
- Promosikan tindakan utama UI Anda dengan tombol tindakan mengambang (FAB).
- Tampilkan merek, navigasi, penelusuran, dan tindakan lainnya menggunakan panel aplikasi.
- Tampilkan dan sembunyikan navigasi aplikasi Anda dengan panel navigasi.
- Pilih dari berbagai Komponen Material lainnya untuk tata letak dan navigasi aplikasi Anda, seperti toolbar yang dapat diciutkan, tab, menu navigasi bawah, dan lainnya. Untuk melihat semuanya, lihat katalog Komponen Material untuk Android.
Jika memungkinkan, gunakan Ikon Material standar. Misalnya, untuk tombol "menu" navigasi untuk panel navigasi, gunakan ikon "hamburger" standar. Lihat Ikon Desain Material untuk daftar ikon yang tersedia. Anda juga dapat mengimpor ikon SVG dari library Ikon Material dengan Vector Asset Studio Android Studio.
Ketinggian bayangan dan kartu
Selain properti X dan Y, tampilan di Android memiliki properti Z. Properti ini menunjukkan ketinggian tampilan, yang menentukan hal berikut:
- Ukuran bayangannya: tampilan dengan nilai Z yang lebih tinggi menghasilkan bayangan yang lebih besar.
- Urutan gambar: tampilan dengan nilai Z yang lebih tinggi akan muncul di bagian atas tampilan lain.
Anda dapat menerapkan ketinggian pada tata letak berbasis kartu, yang membantu Anda menampilkan bagian informasi penting di dalam kartu yang menyediakan tampilan Material. Anda dapat menggunakan
widget CardView untuk
membuat kartu dengan ketinggian default. Untuk mengetahui informasi selengkapnya, lihat
Membuat tata letak berbasis kartu.
Untuk informasi tentang cara menambahkan ketinggian ke tampilan lain, lihat Membuat bayangan dan tampilan klip.
Animasi
API animasi memungkinkan Anda membuat animasi kustom untuk masukan sentuhan di kontrol UI, perubahan status tampilan, dan transisi aktivitas.
API ini memungkinkan Anda:
- Menanggapi peristiwa sentuhan di tampilan Anda dengan animasi masukan sentuhan.
- Menyembunyikan dan menampilkan tampilan dengan animasi buka melingkar.
- Beralih antar-aktivitas dengan animasi transisi aktivitas kustom.
- Membuat animasi yang lebih natural dengan gerakan melengkung.
- Menganimasikan perubahan dalam satu atau beberapa properti tampilan dengan animasi perubahan status tampilan.
- Menampilkan animasi dalam daftar status drawable di antara perubahan status tampilan.
Animasi masukan sentuh disertakan dalam beberapa tampilan standar, seperti tombol. API animasi memungkinkan Anda menyesuaikan animasi tersebut dan menambahkannya ke tampilan kustom Anda.
Untuk mengetahui informasi selengkapnya, lihat Pengantar animasi.
Drawable
Kemampuan untuk drawable ini membantu Anda mengimplementasikan aplikasi Desain Material:
- Vector drawable dapat diskalakan tanpa kehilangan definisi dan sangat cocok untuk ikon dalam aplikasi dengan satu warna. Pelajari vektor drawable lebih lanjut.
- Menambahkan tint drawable memungkinkan Anda menentukan bitmap sebagai mask alfa dan menambahkan tint dengan warna pada saat runtime. Lihat cara menambahkan tint ke drawable.
- Ekstraksi warna memungkinkan Anda otomatis mengekstrak warna yang menonjol dari gambar bitmap. Lihat cara memilih warna dengan Palette API.