<mendukung-layar>

sintaksis:
<supports-screens android:resizeable=["true"| "false"]
                  android:smallScreens=["true" | "false"]
                  android:normalScreens=["true" | "false"]
                  android:largeScreens=["true" | "false"]
                  android:xlargeScreens=["true" | "false"]
                  android:anyDensity=["true" | "false"]
                  android:requiresSmallestWidthDp="integer"
                  android:compatibleWidthLimitDp="integer"
                  android:largestWidthLimitDp="integer"/>
terdapat dalam:
<manifest>
deskripsi:

Memungkinkan Anda menentukan ukuran layar yang didukung aplikasi Anda, dan mengaktifkan mode kompatibilitas layar untuk layar yang lebih besar dari yang didukung oleh aplikasi Anda. Anda harus selalu menggunakan elemen ini dalam aplikasi untuk menentukan ukuran layar yang didukung aplikasi Anda.

Catatan: Mode kompatibilitas layar bukanlah mode yang Anda inginkan untuk menjalankan aplikasi. Mode ini dapat menyebabkan UI mengalami pikselasi dan buram akibat di-zoom. Cara yang tepat agar aplikasi Anda berfungsi dengan baik di layar besar adalah dengan mengikuti Ringkasan kompatibilitas layar dan menyediakan tata letak alternatif untuk berbagai ukuran layar.

Aplikasi akan dianggap "mendukung" ukuran layar tertentu jika dapat menyesuaikan ukurannya dengan benar untuk mengisi seluruh layar. Pengubahan ukuran normal yang diterapkan oleh sistem berfungsi dengan baik untuk sebagian besar aplikasi, dan Anda tidak perlu melakukan pekerjaan tambahan agar aplikasi Anda dapat berfungsi di layar yang lebih besar dari perangkat handset.

Namun, penting bagi Anda untuk mengoptimalkan UI aplikasi bagi berbagai ukuran layar dengan memberikan resource tata letak alternatif. Misalnya, Anda mungkin ingin mengubah tata letak suatu aktivitas untuk menyesuaikan layar tablet ketika biasanya aktivitas tersebut berjalan di perangkat handset.

Namun, jika aplikasi tidak berfungsi dengan baik saat ukurannya diubah mengikuti berbagai ukuran layar, Anda dapat menggunakan atribut elemen <supports-screens> untuk mengontrol apakah aplikasi didistribusikan hanya ke layar yang lebih kecil atau meningkatkan skala UI, atau "di-zoom", agar sesuai dengan layar yang lebih besar menggunakan mode kompatibilitas layar dari sistem.

Jika Anda tidak mendesain untuk ukuran layar yang lebih besar dan pengubahan ukuran normal tidak memberikan hasil yang sesuai, mode kompatibilitas layar akan menskalakan UI Anda dengan mengemulasikan layar ukuran normal dan kepadatan sedang. Kemudian, UI akan diperbesar sehingga dapat mengisi seluruh layar. Perlu diketahui bahwa memperbesar UI dapat menyebabkan UI mengalami pikselasi dan menjadi buram, sebaiknya optimalkan UI untuk layar yang berukuran besar.

Catatan: Android 3.2 memperkenalkan beberapa atribut baru, yaitu android:requiresSmallestWidthDp, android:compatibleWidthLimitDp, dan android:largestWidthLimitDp. Jika aplikasi Anda dikembangkan untuk Android 3.2 dan yang lebih tinggi, gunakan atribut ini untuk mendeklarasikan dukungan ukuran layar, bukan atribut yang didasarkan pada ukuran layar umum.

Tentang mode kompatibilitas layar

Mode kompatibilitas layar adalah pilihan terakhir untuk aplikasi yang tidak didesain dengan baik agar dapat memanfaatkan ukuran layar yang lebih besar. Mode kompabilitas layar bukanlah mode yang Anda inginkan untuk menjalankan aplikasi karena dapat memberikan pengalaman pengguna yang buruk. Ada dua versi mode kompatibilitas layar berdasarkan versi perangkat tempat aplikasi berjalan.

Di Android versi 1.6 hingga 3.1, sistem akan menjalankan aplikasi dalam jendela "perangko". Jendela ini mengemulasikan layar 320 x 480 dp dengan batas hitam yang mengisi sisa area layar.

Di Android 3.2 dan yang lebih tinggi, sistem akan menggambar tata letak seperti pada layar 320 x 480 dp lalu menskalakannya agar memenuhi layar. Penskalaan ini sering menyebabkan munculnya artefak, seperti pemburaman dan pikselasi dalam UI.

Untuk mengetahui informasi selengkapnya tentang cara mendukung berbagai ukuran layar dengan benar sehingga Anda dapat menghindari penggunaan mode kompatibilitas layar dengan aplikasi, baca Ringkasan kompatibilitas layar.

atribut:
android:resizeable
Menunjukkan apakah ukuran aplikasi dapat diubah menyesuaikan berbagai ukuran layar. Atribut ini bernilai "true" secara default. Jika ditetapkan ke "false", sistem akan menjalankan aplikasi Anda dalam mode kompatibilitas layar di layar berukuran besar.

Atribut ini sudah tidak digunakan lagi. Fitur ini diperkenalkan guna memudahkan transisi aplikasi dari Android 1.5 ke 1.6 pada kali pertama dukungan untuk beberapa layar diperkenalkan. Jangan menggunakannya.

android:smallScreens
Menunjukkan apakah aplikasi mendukung faktor bentuk layar “kecil” atau tidak. Layar kecil didefinisikan sebagai layar yang memiliki rasio aspek lebih kecil dari layar “normal”, atau layar HVGA tradisional. Aplikasi yang tidak mendukung layar kecil tidak akan tersedia untuk perangkat layar kecil dari layanan eksternal, seperti Google Play, karena hanya sedikit yang dapat dilakukan oleh platform agar aplikasi seperti ini dapat berfungsi di layar yang lebih kecil. Atribut ini bernilai "true" secara default.
android:normalScreens
Menunjukkan apakah aplikasi mendukung faktor bentuk layar “normal”. Secara tradisional, ini adalah layar HVGA kepadatan medium, tetapi kepadatan rendah WQVGA dan kepadatan tinggi WVGA juga dianggap normal. Atribut ini bernilai "true" secara default.
android:largeScreens
Menunjukkan apakah aplikasi mendukung faktor bentuk layar “besar” atau tidak. Layar besar didefinisikan sebagai layar yang secara signifikan berukuran lebih besar dari layar handset "normal". Oleh karena itu, aplikasi mungkin perlu sangat berhati-hati dalam memanfaatkannya meskipun aplikasi mungkin mengandalkan pengubahan ukuran oleh sistem untuk mengisi layar tersebut.

Nilai default untuk atribut ini bervariasi di antara beberapa versi. Jadi, sebaiknya deklarasikan atribut ini secara eksplisit. Harap berhati-hati karena menyetelnya ke "false", umumnya akan mengaktifkan mode kompatibilitas layar.

android:xlargeScreens
Menunjukkan apakah aplikasi mendukung faktor bentuk layar “ekstra-besar” atau tidak. Layar ekstra besar didefinisikan sebagai layar yang secara signifikan berukuran lebih besar dari layar "besar", seperti tablet atau sesuatu yang lebih besar. Aplikasi mungkin perlu sangat berhati-hati dalam memanfaatkannya meskipun aplikasi mungkin mengandalkan pengubahan ukuran oleh sistem untuk mengisi layar tersebut.

Nilai default untuk atribut ini bervariasi di antara beberapa versi. Jadi, sebaiknya deklarasikan atribut ini secara eksplisit. Harap berhati-hati karena menyetelnya ke "false", umumnya akan mengaktifkan mode kompatibilitas layar.

Atribut ini diperkenalkan pada API level 9.

android:anyDensity
Menunjukkan apakah aplikasi menyertakan resource untuk memenuhi kebutuhan kepadatan layar apa pun.

Untuk aplikasi yang mendukung Android 1.6 (API level 4) dan yang lebih tinggi, atribut ini bernilai "true" secara default. Jangan setel ke "false" kecuali jika Anda benar-benar yakin bahwa aplikasi memerlukannya agar dapat berfungsi. Satu-satunya situasi ketika Anda perlu menonaktifkannya adalah jika aplikasi memanipulasi bitmap secara langsung. Untuk mengetahui informasi selengkapnya, lihat Ringkasan kompatibilitas layar.

android:requiresSmallestWidthDp
Menentukan smallestWidth minimum yang diperlukan untuk aplikasi. smallestWidth adalah dimensi terpendek ruang layar, dalam unit dp, yang harus tersedia untuk UI aplikasi Anda. Artinya, ini merupakan dimensi terpendek dari dua dimensi layar yang tersedia.

Agar perangkat dianggap kompatibel dengan aplikasi Anda, smallestWidth perangkat harus sama dengan atau lebih besar dari nilai ini. Biasanya, nilai yang Anda berikan untuknya adalah “lebar terkecil” yang didukung tata letak Anda, terlepas dari orientasi layar saat ini.

Misalnya, layar handset biasa memiliki smallestWidth 320 dp, tablet 7 inci memiliki smallestWidth 600 dp, dan tablet 10 inci memiliki smallestWidth 720 dp. Nilai-nilai ini umumnya merupakan smallestWidth karena merupakan dimensi terpendek dari ruang layar yang tersedia.

Ukuran yang dibandingkan dengan nilai Anda akan memperhitungkan dekorasi layar dan UI sistem. Misalnya, jika perangkat memiliki beberapa elemen UI yang persisten di layar, sistem akan mendeklarasikan smallestWidth perangkat sebagai ukuran yang lebih kecil dari ukuran layar sebenarnya, karena elemen UI ini merupakan piksel layar yang tidak tersedia untuk UI Anda.

Jika aplikasi Anda dapat mengubah ukurannya dengan benar untuk ukuran layar yang lebih kecil menjadi ukuran "kecil" atau lebar minimal 320 dp, Anda tidak perlu menggunakan atribut ini. Jika tidak, gunakan nilai bagi atribut ini yang cocok dengan nilai terkecil yang digunakan oleh aplikasi untuk penentu lebar layar terkecil (sw<N>dp).

Perhatian: Sistem Android tidak memperhatikan atribut ini sehingga perilaku aplikasi Anda tidak akan terpengaruh selama runtime. Sebagai gantinya, atribut ini digunakan untuk mengaktifkan pemfilteran bagi aplikasi Anda pada layanan seperti Google Play. Namun, Google Play saat ini tidak mendukung atribut ini untuk pemfilteran di Android 3.2. Jadi, terus gunakan atribut ukuran lainnya jika aplikasi Anda tidak mendukung layar kecil.

Atribut ini diperkenalkan pada API level 13.

android:compatibleWidthLimitDp
Atribut ini mengizinkan Anda mengaktifkan mode kompatibilitas layar sebagai fitur yang dapat diatur oleh pengguna dengan menentukan "lebar layar terkecil" maksimal yang didesain bagi aplikasi Anda. Jika sisi terkecil layar perangkat yang tersedia lebih besar dari nilai Anda di sini, pengguna masih dapat menginstal aplikasi Anda, tetapi akan diberi pilihan untuk menjalankannya dalam mode kompatibilitas layar.

Secara default, mode kompatibilitas layar akan dinonaktifkan, dan tata letak Anda akan berubah ukurannya menyesuaikan layar seperti biasa. Tombol tersedia di kolom sistem yang memungkinkan pengguna beralih ke mode kompatibilitas layar.

Jika aplikasi Anda kompatibel dengan semua ukuran layar dan ukuran tata letaknya dapat berubah dengan benar, Anda tidak perlu menggunakan atribut ini.

Catatan: Saat ini, mode kompatibilitas layar hanya mengemulasikan layar handset dengan lebar 320 dp sehingga mode kompatibilitas layar tidak akan diterapkan jika nilai Anda untuk android:compatibleWidthLimitDp lebih besar dari 320.

Atribut ini diperkenalkan pada API level 13.

android:largestWidthLimitDp
Atribut ini mengizinkan Anda mengaktifkan mode kompatibilitas layar secara paksa dengan menentukan "lebar layar terkecil" maksimal yang didesain untuk aplikasi Anda. Jika sisi terkecil layar perangkat yang tersedia lebih besar dari nilai Anda di sini, aplikasi akan berjalan dalam mode kompatibilitas layar yang tidak dapat dinonaktifkan oleh pengguna.

Jika aplikasi Anda kompatibel dengan semua ukuran layar dan ukuran tata letaknya dapat berubah dengan benar, Anda tidak perlu menggunakan atribut ini. Jika tidak, pertama-tama pertimbangkan untuk menggunakan atribut android:compatibleWidthLimitDp. Gunakan atribut android:largestWidthLimitDp hanya jika aplikasi Anda tidak dapat berfungsi dengan baik ketika ukurannya diubah untuk layar yang lebih besar, dan mode kompatibilitas layar adalah satu-satunya cara agar aplikasi Anda dapat digunakan.

Catatan: Saat ini, mode kompatibilitas layar hanya mengemulasikan layar handset dengan lebar 320 dp sehingga mode kompatibilitas layar tidak akan diterapkan jika nilai Anda untuk android:largestWidthLimitDp lebih besar dari 320.

Atribut ini diperkenalkan pada API level 13.

diperkenalkan di:
Level API 4
lihat juga: