Ringkasan Kompatibilitas Layar

Android dijalankan pada beragam perangkat yang memiliki ukuran layar dan kepadatan piksel yang berbeda. Sistem ini melakukan penskalaan dan pengubahan ukuran dasar untuk menyesuaikan antarmuka pengguna dengan layar yang berbeda, namun ada upaya lainnya yang sebaiknya Anda lakukan untuk memastikan UI beradaptasi dengan tiap jenis layar secara mulus.

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

Ukuran layar

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

Tata letak yang fleksibel

Secara default, Android mengubah ukuran tata letak aplikasi agar sesuai dengan layar saat ini. Untuk memastikan tata letak berubah ukurannya dengan baik untuk sedikit variasi ukuran layar, Anda harus mengimplementasikan tata letak dengan mempertimbangkan fleksibilitas. Prinsip utama yang harus Anda ikuti adalah menghindari hard code posisi dan ukuran komponen UI. Sebaliknya, izinkan ukuran tampilan untuk direntangkan dan tentukan posisi tampilan yang sebanding dengan tampilan utama atau tampilan turunan lainnya agar urutan dan ukuran relatif yang diinginkan tetap sama saat tata letak berkembang.

Pelajari lebih lanjut tata letak yang fleksibel.

Layout alternatif

Tata letak yang fleksibel sangat penting, namun Anda juga sebaiknya mendesain tata letak berbeda yang mengoptimalkan pengalaman pengguna untuk ruang yang tersedia di perangkat yang berbeda seperti ponsel dan tablet. Jadi, Android memungkinkan Anda menyediakan file tata letak alternatif yang diterapkan oleh sistem selama waktu proses berdasarkan ukuran layar perangkat saat ini.

Gambar 1. Aplikasi yang sama menggunakan tata letak yang berbeda untuk ukuran layar yang berbeda

Pelajari cara membuat tata letak alternatif.

Gambar yang dapat direntangkan

Karena tata letak harus direntangkan agar sesuai dengan layar saat ini, begitu juga dengan bitmap yang dilampirkan ke tampilan tata letak. Namun, merentangkan bitmap biasa dalam arah yang bebas dapat menghasilkan artefak penskalaan yang aneh dan gambar yang miring.

Untuk mengatasinya, Android mendukung bitmap sembilan-patch yang memungkinkan Anda menentukan area piksel kecil yang dapat direntangkan—area lain gambar tidak diskalakan.

Pelajari lebih lanjut bitmap sembilan-patch.

Kepadatan piksel

Kepadatan piksel adalah jumlah piksel dalam area fisik layar dan disebut dpi (titik per inci). Ini berbeda dengan resolusi, yang merupakan jumlah total piksel di layar.

Gambar 2. Pembesaran dua perangkat yang berukuran sama, namun memiliki kepadatan piksel yang berbeda

Independensi kepadatan

Aplikasi mencapai "independensi kepadatan" jika mempertahankan ukuran fisik (dari sudut pandang pengguna) desain UI jika ditampilkan di layar dengan kepadatan piksel yang berbeda (seperti ditampilkan di gambar 2). Independensi kepadatan penting untuk dipertahankan karena tanpa itu, elemen UI (seperti tombol) mungkin tampil lebih besar di layar berkepadatan rendah dan lebih kecil di layar berkepadatan tinggi (karena jika piksel lebih besar—seperti ditampilkan di gambar 2—beberapa piksel dapat melebar).

Sistem Android membantu Anda mencapai independensi kepadatan dengan menyediakan piksel kepadatan mandiri (dp atau dip) sebagai satuan pengukuran yang sebaiknya digunakan daripada piksel (px).

Pelajari lebih lanjut piksel kepadatan mandiri.

Bitmap alternatif

Untuk memastikan gambar ditampilkan dengan sebaik-baiknya di semua layar, sebaiknya sediakan bitmap alternatif agar cocok dengan kepadatan tiap layar. Misalnya, jika aplikasi menyediakan bitmap hanya untuk kepadatan medium (mdpi), Android menaikkan skalanya di layar yang memiliki kepadatan tinggi agar gambar menempati ruang fisik yang sama di layar. Ini dapat menyebabkan artefak penskalaan yang terlihat jelas di bitmap. Jadi, aplikasi harus menyertakan bitmap alternatif pada resolusi yang lebih tinggi.

Pelajari cara menyediakan bitmap alternatif.

Grafik vektor

Untuk jenis gambar yang sederhana (biasanya ikon), Anda dapat menghindari membuat gambar terpisah untuk tiap kepadatan dengan menggunakan grafik vektor. Karena grafik vektor menentukan ilustrasi dengan path garis geometris, bukan dengan piksel, ini dapat digambar pada ukuran apa saja tanpa artefak penskalaan.

Pelajari lebih lanjut cara menggunakan grafik vektor.

Wear OS, TV, Auto, dan Chrome OS

Rekomendasi di atas berlaku untuk semua faktor bentuk Android, namun jika Anda ingin membuat aplikasi untuk perangkat Wear OS, Android TV, Android Auto, atau Chrome OS, Anda perlu berupaya sedikit lebih keras.

Tiap perangkat ini memiliki model interaksi pengguna sendiri yang harus diakomodasi oleh aplikasi. Di beberapa kasus, misalnya untuk Wear OS, Anda sebaiknya memikirkan kembali pengalaman pengguna aplikasi dan membuat aplikasi yang dikhususkan untuk perangkat tersebut. Dan untuk mendukung perangkat Chrome OS (seperti Google Pixelbook), Anda mungkin hanya memerlukan sedikit modifikasi pada aplikasi yang ada untuk mendukung interaksi keyboard/mouse dan layar yang jauh lebih besar.

Untuk mendukung perangkat ini, baca panduan developer berikut:

Layar tidak kompatibel

Meski framework dan fitur Android menyediakan semua yang Anda perlukan guna membuat aplikasi tersedia untuk semua konfigurasi layar, Anda mungkin tetap memutuskan bahwa Anda tidak ingin aplikasi tersedia di beberapa konfigurasi layar karena sedikit tidak kompatibel.

Jika demikian, Anda dapat mengumumkan aplikasi hanya mendukung layar tertentu.