Ikon adaptif

Ikon adaptif, atau AdaptiveIconDrawable, dapat ditampilkan secara berbeda bergantung pada setiap kemampuan perangkat dan penerapan tema pengguna. Ikon adaptif terutama digunakan oleh peluncur di layar utama, tetapi juga dapat digunakan di pintasan, aplikasi Setelan, dialog berbagi, dan layar ringkasan. Ikon adaptif digunakan di semua faktor bentuk Android.

Berbeda dengan gambar bitmap, ikon adaptif dapat beradaptasi dengan berbagai kasus penggunaan:

  • Bentuk yang berbeda: ikon adaptif dapat menampilkan berbagai bentuk di berbagai model perangkat. Misalnya, aplikasi dapat menampilkan bentuk lingkaran di satu perangkat OEM, dan menampilkan persegi bulat (bentuk antara persegi dan lingkaran) di perangkat lain. Setiap perangkat OEM harus menyediakan mask, yang digunakan sistem untuk merender semua ikon adaptif dengan bentuk yang sama.

    GIF yang menampilkan animasi berulang dari contoh ikon Android yang sama,
yang menampilkan bentuk yang berbeda bergantung pada topeng yang digunakan—lingkaran, lalu
dua jenis kubus yang berbeda
    Gambar 1. Ikon adaptif mendukung berbagai mask, yang bervariasi dari satu perangkat ke perangkat lainnya.
  • Efek visual: ikon adaptif mendukung berbagai efek visual yang menarik, yang ditampilkan saat pengguna menempatkan atau memindahkan ikon di sekitar layar utama.

    GIF yang menunjukkan contoh dua ikon contoh Android berbentuk lingkaran,
yang dianimasikan untuk menampilkan respons pengguna. Ikon pertama menunjukkan logo Android
yang bergetar ke kiri lalu ke kanan, lalu ke atas dan ke bawah di dalam lingkaran. Ikon kedua
membesar, lalu menciut lagi.
    Gambar 2. Contoh efek visual yang ditampilkan oleh ikon adaptif.
  • Tema pengguna: mulai dari Android 13 (API level 33), pengguna dapat menerapkan tema ikon adaptif mereka. Jika pengguna mengaktifkan ikon aplikasi bertema, dengan mengaktifkan tombol Ikon bertema di setelan sistem, dan peluncur mendukung fitur ini, sistem akan menggunakan warna wallpaper dan tema yang dipilih pengguna untuk menentukan warna tint.

    Gambar menunjukkan contoh tiga perangkat Android, masing-masing menampilkan
tema pengguna yang berbeda dengan tint berbeda: yang pertama menampilkan wallpaper dengan
tint gelap; yang kedua menampilkan wallpaper berwarna keemasan; yang ketiga menampilkan
wallpaper abu-abu muda dengan wallpaper warna kebiruan. Dalam setiap contoh, ikon mewarisi tint wallpaper dan menyatu dengan sempurna.
    Gambar 3. Ikon adaptif yang mewarisi wallpaper dan tema pengguna.

    Dalam skenario berikut, layar utama tidak menampilkan ikon aplikasi bertema, melainkan menampilkan ikon aplikasi adaptif atau standar:

    • Jika pengguna tidak mengaktifkan ikon aplikasi bertema.
    • Jika aplikasi Anda tidak menyediakan ikon aplikasi monokrom.
    • Jika peluncur tidak mendukung ikon aplikasi bertema.

Mendesain ikon adaptif

Untuk memastikan ikon adaptif mendukung berbagai bentuk, efek visual, dan tema pengguna, desain harus memenuhi persyaratan berikut:

  • Anda harus menyediakan dua lapisan untuk versi warna ikon: satu untuk latar depan, dan satu untuk latar belakang. Lapisannya dapat berupa vektor atau bitmap, meskipun vektor lebih disukai.

    Gambar yang menunjukkan contoh lapisan latar depan (gambar kiri) dan
lapisan latar belakang (gambar kanan). Latar depan menampilkan ikon 16 sisi dari
contoh logo Android yang berpusat dalam zona aman 66x66. Zona aman
dipusatkan di dalam penampung berukuran 108x108. Latar belakang menunjukkan dimensi
terukur yang sama untuk zona aman dan penampung, tetapi hanya latar belakang
biru dan tanpa logo.
    Gambar 4. Ikon adaptif yang ditentukan menggunakan lapisan latar depan dan latar belakang. Zona aman 66x66 yang digambarkan adalah area yang tidak pernah terpotong oleh mask berbentuk yang ditentukan oleh OEM.
    Gambar yang menunjukkan ikon dari gambar sebelumnya yang ditempatkan pada
masker melingkar.
    Gambar 5. Contoh tampilan lapisan latar depan dan latar belakang bersama dengan mask lingkaran yang diterapkan.
  • Jika Anda ingin mendukung penerapan tema pengguna untuk ikon aplikasi, berikan satu lapisan untuk ikon versi monokrom.

    Gambar yang menunjukkan contoh lapisan ikon monokrom (gambar kiri)
dan pratinjau warna (gambar kanan). Lapisan monokromatik menampilkan ikon 16 sisi
dari contoh logo Android yang berpusat dalam zona aman 66x66. Zona
aman dipusatkan di dalam penampung berukuran 108x108. Pratinjau warna menunjukkan
tampilan lapisan ini saat diterapkan ke tema pengguna dengan warna berbeda (oranye,
merah muda, kuning, dan hijau).
    Gambar 6. Lapisan ikon monokromatik (kiri) dengan contoh pratinjau warna (kanan).
  • Ukuran semua lapisan menjadi 108x108 dp.

  • Gunakan ikon dengan tepi yang rapi. Lapisan tidak boleh memiliki mask atau bayangan latar belakang di sekitar garis batas ikon.

  • Gunakan logo yang berukuran minimal 48x48 dp. Ukuran ikon tidak boleh melebihi 66x66 dp, karena bagian dalam ikon berukuran 66x66 dp akan muncul dalam area pandang yang disembunyikan.

Bagian luar 18 dp pada masing-masing sisi empat lapisan dicadangkan untuk masking dan untuk membuat efek visual seperti paralaks atau berdenyut.

Untuk mempelajari cara membuat ikon adaptif menggunakan Android Studio, lihat template Figma ikon Aplikasi Android atau Dokumentasi Android Studio untuk membuat ikon peluncur. Selain itu, lihat postingan blog Designing Adaptive Icons .

Menambahkan ikon adaptif ke aplikasi

Ikon adaptif, seperti ikon non-adaptif, ditentukan menggunakan atribut android:icon dalam manifes aplikasi.

Atribut opsional, android:roundIcon, digunakan oleh peluncur yang mewakili aplikasi dengan ikon lingkaran, dan mungkin berguna jika ikon aplikasi Anda menyertakan latar belakang melingkar sebagai bagian inti dari desainnya. Peluncur tersebut diperlukan untuk menghasilkan ikon aplikasi dengan menerapkan mask lingkaran ke android:roundIcon, dan jaminan ini dapat memungkinkan Anda mengoptimalkan tampilan ikon aplikasi dengan, misalnya, sedikit memperbesar logo dan memastikan bahwa saat dipangkas, latar belakang melingkar akan memenuhi seluruh ruang aset.

Cuplikan kode berikut mengilustrasikan kedua atribut ini, tetapi sebagian besar aplikasi hanya menentukan android:icon:

<application
    ...
    android:icon="@mipmap/ic_launcher"
    android:roundIcon="@mipmap/ic_launcher_round"
    ...>
</application>

Selanjutnya, simpan ikon adaptif Anda ke res/mipmap-anydpi-v26/ic_launcher.xml. Gunakan elemen <adaptive-icon> untuk menentukan resource lapisan latar depan, latar belakang, dan monokromatik untuk ikon Anda. Elemen dalam <foreground>, <background>, dan <monochrome> mendukung gambar vektor dan bitmap.

Contoh berikut menunjukkan cara menentukan elemen <foreground>, <background>, dan <monochrome> di dalam <adaptive-icon>:

<?xml version="1.0" encoding="utf-8"?>
...
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@drawable/ic_launcher_background" />
    <foreground android:drawable="@drawable/ic_launcher_foreground" />

    // Starting with Android 13 (API level 33), you can opt-in to providing a
    // <monochrome> drawable.
    <monochrome android:drawable="@drawable/ic_launcher_monochrome" />
</adaptive-icon>
...

Anda juga dapat menentukan drawable sebagai elemen dengan menyisipkannya ke dalam elemen <foreground>, <background>, dan <monochrome>. Cuplikan berikut menunjukkan contoh tindakan ini dengan drawable latar depan.

<?xml version="1.0" encoding="utf-8"?>
...
<foreground>
   <inset
       android:insetBottom="18dp"
       android:insetLeft="18dp"
       android:insetRight="18dp"
       android:insetTop="18dp">
       <shape android:shape="oval">
           <solid android:color="#0000FF" />
       </shape>
   </inset>
</foreground>
...

Jika Anda ingin menerapkan mask dan efek visual yang sama ke pintasan sebagai ikon adaptif reguler, gunakan salah satu teknik berikut:

  • Untuk pintasan statis, gunakan elemen <adaptive-icon>.
  • Untuk pintasan dinamis, panggil metode createWithAdaptiveBitmap() saat Anda membuatnya.

Untuk mengetahui informasi selengkapnya tentang cara menerapkan ikon adaptif, lihat Menerapkan Ikon Adaptif. Untuk informasi selengkapnya tentang pintasan, lihat Ringkasan pintasan aplikasi.

Referensi tambahan

Lihat referensi berikut untuk informasi tambahan tentang mendesain dan mengimplementasikan ikon adaptif.