Desain Material untuk Android

Mencoba cara Compose
Jetpack Compose adalah toolkit UI yang direkomendasikan untuk Android. Pelajari cara menggunakan tema di Compose.

Desain Material adalah panduan komprehensif untuk desain visual, gerak, dan interaksi di seluruh platform dan perangkat. Untuk menggunakan Desain Material di aplikasi Android, ikuti panduan yang ditentukan dalam Spesifikasi Desain Material. Jika aplikasi Anda menggunakan Jetpack Compose, Anda dapat menggunakan library Compose Material 3. Jika aplikasi menggunakan tampilan, Anda dapat menggunakan library Komponen Material Android.

Android menyediakan fitur berikut untuk membantu Anda membuat aplikasi Desain Material:

  • Tema aplikasi Desain Material untuk menata gaya semua widget UI Anda
  • Widget untuk tampilan kompleks, seperti daftar dan kartu
  • API untuk animasi dan bayangan kustom

Tema dan widget material

Untuk memanfaatkan fitur Material, seperti gaya visual untuk widget UI standar dan untuk menyederhanakan definisi gaya aplikasi, terapkan tema berbasis Material ke aplikasi Anda.

Gambar 1. Tema Material Gelap.
Gambar 2. Tema Material Terang.

Jika Anda menggunakan Android Studio untuk membuat project Android, tema Material akan diterapkan secara default. Untuk mempelajari cara memperbarui tema project Anda, lihat Gaya dan tema.

Untuk memberikan pengalaman yang familier bagi pengguna, gunakan pola UX Material yang paling umum:

  • Promosikan tindakan utama UI Anda dengan tombol tindakan mengambang (FAB).
  • Tampilkan brand, 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 Komponen Material untuk katalog Android.

Jika memungkinkan, gunakan Ikon Material yang telah ditentukan sebelumnya. Misalnya, untuk tombol "menu" navigasi bagi panel navigasi, gunakan ikon "hamburger" standar. Lihat Ikon Desain Material untuk daftar ikon yang tersedia. Anda juga dapat mengimpor ikon SVG dari library Material Icon dengan Vector Asset Studio Android Studio.

Ketinggian bayangan dan kartu

Selain properti X dan Y, tampilan di Android memiliki properti Z. Properti ini mewakili 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 atas tampilan lain.
Gambar 3. Nilai Z yang mewakili elevasi.

Anda dapat menerapkan elevasi ke 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 elevasi default. Untuk informasi selengkapnya, lihat Membuat tata letak berbasis kartu.

Untuk informasi tentang cara menambahkan ketinggian ke tampilan lain, lihat Membuat bayangan dan tampilan klip.

Animasi

Gambar 4. Animasi masukan sentuh.

Animation API memungkinkan Anda membuat animasi kustom untuk masukan sentuh dalam 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 alami dengan gerakan melengkung.
  • Menganimasikan perubahan dalam satu atau beberapa properti tampilan dengan animasi perubahan status tampilan.
  • Menampilkan animasi dalam drawable daftar status di antara perubahan status tampilan.

Animasi masukan sentuh disertakan dalam beberapa tampilan standar, seperti tombol. API animasi memungkinkan Anda menyesuaikan animasi ini 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 bersifat skalabel tanpa kehilangan definisi dan cocok untuk ikon dalam aplikasi 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 mengekstrak warna yang menarik secara otomatis dari gambar bitmap. Lihat cara memilih warna dengan Palette API.