- 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
, danandroid: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 unitdp
, 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 memilikismallestWidth
600 dp, dan tablet 10 inci memilikismallestWidth
720 dp. Nilai-nilai ini umumnya merupakansmallestWidth
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 dari320
.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 atributandroid: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 dari320
.Atribut ini diperkenalkan pada API level 13.
- diperkenalkan di:
- API level 4
- lihat juga:
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2024-08-22 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Informasi yang saya butuhkan tidak ada"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Terlalu rumit/langkahnya terlalu banyak"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Sudah usang"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Masalah terjemahan"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Masalah kode / contoh"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Lainnya"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Mudah dipahami"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Memecahkan masalah saya"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Lainnya"
}]
{"lastModified": "Terakhir diperbarui pada 2024-08-22 UTC."}
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2024-08-22 UTC."]]