Ringkasan kompatibilitas layar

Android berjalan pada beragam perangkat yang memiliki berbagai ukuran layar dan kepadatan piksel. Sistem ini melakukan penskalaan dan pengubahan ukuran dasar untuk menyesuaikan antarmuka pengguna Anda ke berbagai layar, tetapi ada beberapa cara untuk membantu UI Anda beradaptasi lebih baik dengan setiap jenis layar.

Gambar 1. Android berjalan di berbagai perangkat yang memiliki layar dan kepadatan piksel berbeda.

Halaman ini menyediakan ringkasan fitur yang tersedia di Android untuk membantu aplikasi Anda beradaptasi dengan tepat. Untuk petunjuk yang lebih spesifik tentang cara mem-build aplikasi untuk berbagai variasi layar, lihat dokumentasi berikut:

Ukuran layar

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

Tata letak yang fleksibel

Secara default, Android mengubah ukuran layout aplikasi Anda agar sesuai dengan layar saat ini. Agar tata letak dapat diubah ukurannya dengan baik untuk variasi kecil pada ukuran layar, terapkan tata letak Anda dengan mempertimbangkan fleksibilitas. Jangan melakukan hardcode pada posisi dan ukuran komponen UI. Sebagai gantinya, biarkan ukuran tampilan direntangkan dan menentukan posisi tampilan relatif terhadap tampilan induk atau tampilan setara lainnya sehingga urutan dan ukuran relatif yang diinginkan tetap sama seiring tata letak berkembang.

Untuk mempelajari tata letak yang fleksibel lebih lanjut, lihat Desain responsif.

Layout alternatif

Tata letak yang fleksibel itu penting, tetapi Anda juga perlu mendesain tata letak berbeda yang mengoptimalkan pengalaman pengguna untuk ruang yang tersedia di perangkat berbeda. Android memungkinkan Anda menyediakan file tata letak alternatif yang diterapkan sistem saat runtime berdasarkan ukuran layar perangkat saat ini.

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

Untuk mempelajari cara membuat tata letak alternatif, lihat Desain adaptif.

Gambar yang dapat direntangkan

Karena tata letak harus direntangkan agar sesuai dengan layar saat ini, begitu juga dengan bitmap yang Anda kaitkan ke tampilan tata letak. Namun, merentangkan bitmap biasa secara sembarangan dapat menghasilkan artefak penskalaan yang aneh dan gambar yang miring.

Untuk mengatasi hal ini, Android mendukung bitmap nine-patch, tempat Anda menentukan area piksel kecil yang dapat direntangkan, sedangkan bagian gambar lainnya tetap tidak diskalakan.

Untuk mempelajari bitmap nine-patch lebih lanjut, lihat drawable NinePatch.

Kepadatan piksel

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

Gambar 3. Representasi berlebihan dari dua perangkat yang berukuran sama tetapi memiliki kepadatan piksel yang berbeda.

Independensi kepadatan

Aplikasi Anda akan mencapai "independensi kepadatan" jika mempertahankan ukuran fisik—dari sudut pandang pengguna—desain UI saat ditampilkan di layar dengan kepadatan piksel yang berbeda, seperti yang ditunjukkan pada gambar 3. Penting untuk mempertahankan independensi kepadatan, karena tanpanya, elemen UI seperti tombol mungkin terlihat lebih besar pada layar berkepadatan rendah dan lebih kecil pada layar berkepadatan tinggi.

Android membantu Anda mencapai independensi kepadatan dengan menyediakan piksel kepadatan mandiri (dp atau dip) sebagai unit pengukuran yang Anda gunakan, bukan piksel (px).

Untuk mempelajari piksel kepadatan mandiri lebih lanjut, lihat Menggunakan piksel kepadatan mandiri.

Bitmap alternatif

Agar gambar terlihat sebaik mungkin di semua layar, sediakan bitmap alternatif agar sesuai dengan setiap kepadatan layar. Jika aplikasi Anda hanya menyediakan bitmap untuk layar berkepadatan lebih rendah, Android akan meningkatkan skalanya saat berada di layar berkepadatan tinggi sehingga gambar menempatkan ruang fisik yang sama di layar. Hal ini dapat menyebabkan artefak penskalaan yang terlihat dalam bitmap. Jadi, aplikasi Anda harus menyertakan bitmap alternatif dengan resolusi lebih tinggi.

Untuk mempelajari cara menyediakan bitmap alternatif, lihat Menyediakan bitmap alternatif.

Grafik vektor

Untuk jenis gambar sederhana, seperti ikon, Anda dapat menggunakan grafik vektor untuk menghindari pembuatan gambar terpisah untuk setiap kepadatan. Karena grafik vektor menentukan ilustrasi dengan jalur garis geometris, bukan piksel, grafik vektor dapat digambar pada ukuran apa pun tanpa artefak penskalaan.

Untuk mempelajari lebih lanjut cara menggunakan grafik vektor, lihat Memilih grafik vektor.

Wear OS, TV, Auto, dan ChromeOS

Rekomendasi sebelumnya berlaku untuk semua faktor bentuk Android, tetapi jika Anda ingin mem-build aplikasi untuk perangkat Wear OS, Android TV, Android Auto, atau ChromeOS, Anda harus melakukan lebih banyak pekerjaan.

Setiap jenis perangkat ini memiliki model interaksi pengguna sendiri yang harus diakomodasi oleh aplikasi Anda. Dalam beberapa kasus, seperti Wear OS, Anda perlu memikirkan kembali pengalaman pengguna aplikasi dan membuat aplikasi yang khusus untuk perangkat tersebut. Di sisi lain, untuk mendukung perangkat ChromeOS, seperti Google Pixelbook, Anda mungkin hanya perlu sedikit modifikasi pada aplikasi yang ada untuk mendukung interaksi keyboard atau mouse dan layar yang lebih besar.

Untuk mendukung perangkat ini, lihat dokumentasi berikut:

Perangkat foldable

Perangkat foldable biasanya memiliki beberapa layar, dengan layar yang berbeda—atau kombinasi layar—yang aktif untuk berbagai status perangkat dilipat. Ikuti panduan dalam dokumen ini untuk membuat aplikasi Anda beradaptasi dengan konfigurasi yang berubah tersebut. Namun, beberapa konfigurasi dapat memiliki rasio aspek yang tidak biasa, jadi uji perilaku aplikasi Anda di berbagai perangkat.

Gambar 4. Melipat dan membentangkan.

Biasanya, aplikasi yang berfungsi dengan baik dalam mode multi-aplikasi untuk berbagai ukuran jendela juga berperilaku baik di perangkat foldable.

Untuk mempelajari lebih lanjut cara membuat aplikasi untuk perangkat foldable, lihat Mempelajari perangkat foldable.

Layar tidak kompatibel

Meskipun framework dan alat Android menyediakan semua yang Anda perlukan untuk membuat aplikasi tersedia untuk semua konfigurasi layar, Anda mungkin memutuskan bahwa Anda tidak ingin aplikasi tersedia pada beberapa konfigurasi layar karena inkompatibilitas. Dalam hal ini, Anda dapat mendeklarasikan dukungan layar yang dibatasi.