Ringkasan kompatibilitas layar

Android berjalan pada beragam perangkat yang memiliki berbagai ukuran layar dan kepadatan piksel. Sistem akan melakukan penskalaan dasar dan mengubah ukuran untuk menyesuaikan antarmuka pengguna ke beragam layar, tetapi masih ada banyak pekerjaan yang harus dilakukan untuk memastikan UI Anda beradaptasi dengan apik ke setiap jenis layar.

Halaman ini memberikan ringkasan tentang topik ini dan fitur yang tersedia di Android untuk membantu aplikasi Anda beradaptasi dengan baik. Untuk petunjuk yang lebih spesifik mengenai cara membuat aplikasi Anda untuk beragam layar, lihat halaman berikut:

Ukuran layar

Ukuran layar adalah ruang terlihat yang disediakan untuk UI aplikasi Anda. Ukuran layar yang diketahui oleh aplikasi Anda bukanlah ukuran layar perangkat yang sebenarnya—ukuran ini mempertimbangkan orientasi layar, dekorasi sistem (seperti menu navigasi), dan perubahan konfigurasi jendela (seperti saat pengguna mengaktifkan mode multi-jendela.

Layout fleksibel

Secara default, Android mengubah ukuran layout aplikasi Anda agar sesuai dengan layar saat ini. Untuk memastikan layout Anda dapat diubah ukurannya dengan baik bahkan ketika terdapat perbedaan kecil dalam ukuran layar, Anda harus mengimplementasikan layout dengan mempertimbangkan fleksibilitas. Prinsip pokok yang harus Anda ikuti adalah menghindari hard-coding untuk posisi dan ukuran komponen UI Anda. Sebagai gantinya, izinkan ukuran tampilan untuk membesar dan menetapkan posisi tampilan relatif terhadap tampilan induk atau tampilan sejenis lainnya sehingga urutan yang diinginkan dan ukuran relatif tetap sama dengan layout yang semakin besar.

Pelajari lebih lanjut tentang layout fleksibel.

Layout alternatif

Layout fleksibel sangatlah penting, tetapi Anda juga harus mendesain layout berbeda yang mengoptimalkan pengalaman pengguna untuk ruang yang tersedia pada beragam perangkat seperti ponsel dan tablet. Jadi Android mengizinkan Anda untuk menyediakan file layout alternatif yang diterapkan sistem saat runtime berdasarkan ukuran layar perangkat saat ini.

Gambar 1. Aplikasi yang sama menggunakan layout berbeda untuk ukuran layar yang berbeda

Pelajari cara membuat layout alternatif.

Gambar yang bisa direntangkan

Karena layout Anda harus direntangkan agar pas dengan layar saat ini, demikian juga semestinya bitmap yang Anda sematkan ke setiap tampilan layout. Namun, merentangkan bitmap biasa secara sembarangan bisa menghasilkan artefak penskalaan yang aneh dan gambar yang tidak simetris.

Untuk mengatasi ini, Android mendukung bitmap nine-patch tempat Anda menentukan area piksel kecil yang dapat direntangkan—bagian gambar yang lain tidak diubah.

Pelajari lebih lanjut tentang bitmap nine-patch.

Kepadatan piksel

Kepadatan piksel adalah jumlah piksel dalam area fisik layar dan sering disebut sebagai dpi (dots per inch). Ini berbeda dengan resolusi, yang merupakan jumlah total piksel pada layar.

Gambar 2. Pembesaran dari dua perangkat yang berukuran sama tetapi memiliki kepadatan piksel yang berbeda

Independensi kepadatan

Aplikasi Anda mencapai "independensi kepadatan" bila mempertahankan ukuran fisik (dari sudut pandang pengguna) desain UI Anda saat ditampilkan pada layar dengan kepadatan piksel yang berbeda (seperti yang ditunjukkan pada gambar 2). Menjaga independensi kepadatan adalah hal yang penting karena, tanpanya, elemen UI (seperti tombol) mungkin terlihat lebih besar pada layar berkepadatan rendah dan lebih kecil pada layar berkepadatan tinggi (karena ketika piksel lebih besar—seperti yang ditunjukkan pada gambar 2— beberapa piksel bisa meluber).

Sistem Android membantu Anda mencapai independensi kepadatan dengan menyediakan piksel berkepadatan-independen (dp atau dip) sebagai unit pengukuran yang harus Anda gunakan sebagai ganti piksel (px).

Pelajari lebih lanjut tentang piksel berkepadatan-independen.

Bitmap alternatif

Untuk memastikan gambar terlihat seoptimal mungkin pada semua layar, Anda harus menyediakan bitmap alternatif agar pas dengan setiap kepadatan layar. Misalnya, jika aplikasi Anda hanya menyediakan bitmap untuk layar berkepadatan menengah (mdpi), Android akan memperbesarnya ketika ditampilkan pada layar berkepadatan-tinggi sehingga gambar mempergunakan ruang fisik yang sama di layar. Ini bisa menyebabkan artefak penskalaan yang terlihat dalam bitmap. Jadi aplikasi Anda harus menyertakan bitmap alternatif pada resolusi yang lebih tinggi.

Pelajari cara menyediakan bitmap alternatif.

Grafik vektor

Untuk jenis gambar sederhana (biasanya ikon), Anda bisa menghindari pembuatan gambar terpisah untuk setiap kepadatan dengan menggunakan grafik vektor. Karena grafik vektor menetapkan ilustrasi dengan jalur garis geometris, bukan piksel, mereka bisa digambar dalam ukuran apa pun tanpa artefak penskalaan.

Pelajari lebih lanjut tentang penggunaan grafik vektor.

Wear OS, TV, Auto, dan Chrome OS

Rekomendasi di atas berlaku untuk semua faktor bentuk Android, tetapi jika Anda ingin membuat aplikasi untuk Wear OS, Android TV, Android Auto, atau perangkat Chrome OS, Anda harus melakukan lebih banyak pekerjaan.

Masing-masing perangkat ini memiliki model interaksi pengguna mereka sendiri yang harus diakomodasi aplikasi Anda. Dalam beberapa kasus, seperti Wear OS, Anda harus memikirkan ulang pengalaman pengguna aplikasi dan membuat aplikasi yang khusus untuk perangkat tersebut. Dan untuk mendukung perangkat Chrome OS (seperti Google Pixelbook), Anda mungkin hanya memerlukan sedikit modifikasi pada aplikasi saat ini untuk mendukung interaksi keyboard/mouse dan layar yang jauh lebih besar.

Untuk mendukung perangkat ini, lihat panduan developer berikut:

Inkompatibilitas layar

Meskipun fitur dan framework Android menyediakan semua yang dibutuhkan untuk membuat aplikasi yang bisa dipakai dalam semua konfigurasi layar, Anda mungkin memutuskan tidak menginginkan aplikasi tersebut tersedia untuk beberapa konfigurasi layar karena adanya inkompatibilitas.

Dalam kasus ini, Anda bisa mendeklarasikan aplikasi hanya mendukung layar tertentu.