Ketika mendukung berbagai ukuran layar (kepadatan) di Android, seringkali fokusnya adalah pada menciptakan tata letak yang berbeda untuk setiap layar yang mungkin. YAITU
- ldpi
- mdpi
- hdpi
- xhdpi
- xxhdpi
- xxxhdpi
Saya merancang tata letak untuk layar xhdpi sebagai referensi, dan mendefinisikan dimensi di dimens.xml . Sekarang saya ingin memberikan dukungan untuk setiap ukuran layar yang memungkinkan. Bagaimana saya bisa melakukan itu?
Sejauh yang saya tahu, saya dapat menggunakan alat ini untuk mencari tahu dimens.xml yang tepat untuk ukuran layar lain dan menambahkannya ke proyek saya. Apakah ini cara yang tepat untuk melakukannya dalam situasi saya?
Pertanyaan lain, apakah saya hanya perlu membuat dimens.xml untuk dimensi layar di atas? Jika ya lalu apa w820dp
?
Terima kasih atas bantuan Anda. Saya perlu mendukung ponsel saja (bukan tablet atau perangkat lain).
dimesn.xml
file yang berbeda untuk resolusi yang berbeda.W820dp
itu sesuatu yang mendukung versi android yang berbeda? Dapatkah Anda menyarankan saya tutorial tentang mendukung layar berbeda berdasarkan dimens.xml?Jawaban:
Anda harus membuat folder Nilai berbeda untuk layar yang berbeda . Suka
Untuk informasi lebih lanjut, Anda dapat mengunjungi di sini
Diedit oleh @humblerookie
Anda dapat menggunakan plugin Android Studio yang disebut Dimenify untuk secara otomatis menghasilkan nilai dimensi untuk bucket piksel lain berdasarkan faktor skala khusus. Masih dalam versi beta, pastikan untuk memberi tahu masalah / saran yang Anda temui kepada pengembang.
sumber
Gunakan DP Scalable
Meskipun membuat tata letak yang berbeda untuk ukuran layar yang berbeda secara teori adalah ide yang baik, ini bisa menjadi sangat sulit untuk mengakomodasi semua dimensi layar, dan kepadatan piksel. Memiliki lebih dari 20
dimens.xml
file berbeda seperti yang disarankan dalam jawaban di atas, tidak mudah untuk dikelola sama sekali.Cara Penggunaan:
Untuk menggunakan
sdp
:implementation 'com.intuit.sdp:sdp-android:1.0.5'
dalambuild.gradle
,Ganti
dp
nilai apa pun seperti50dp
dengan@dimen/50_sdp
seperti:Bagaimana itu bekerja:
sdp
skala dengan ukuran layar karena pada dasarnya daftar besar berbedadimens.xml
untuk setiapdp
nilai yang mungkin .Lihat Dalam Tindakan:
Ini dia pada tiga perangkat dengan dimensi layar yang sangat berbeda, dan kepadatan:
Perhatikan bahwa
sdp
perhitungan unit ukuran mencakup beberapa perkiraan karena beberapa kendala kinerja dan kegunaan.sumber
kami ingin melihat perubahan ukuran tampilan yang diperlukan di layar yang berbeda.
Kita perlu membuat folder nilai yang berbeda untuk layar yang berbeda dan meletakkan file dimens.xml berdasarkan kepadatan layar.
Saya telah mengambil satu TextView dan mengamati perubahan ketika saya mengubah dimens.xml di folder nilai yang berbeda.
Silakan ikuti prosesnya
normal - xhdpi \ dimens.xml
Perangkat di bawah ini dapat mengubah ukuran layar ketika kami mengubah normal - xhdpi \ dimens.xml
nexus 5X (5.2 "* 1080 * 1920: 420dpi)
nexus 6P (5.7 "* 1440 * 2560: 560dpi)
nexus 6 (6.0 "* 1440 * 2560: 560dpi)
nexus 5 (5.0 ", 1080 1920: xxhdpi)
nexus 4 (4.7 ", 768 * 1280: xhdpi)
Galaxy nexus (4.7 ", 720 * 1280: xhdpi)
4,65 "720p (720 * 1280: xhdpi)
4.7 "WXGA (1280 * 720: Xhdpi)
Xlarge - xhdpi \ dimens.xml
Perangkat di bawah ini dapat mengubah ukuran layar ketika kami mengubah Xlarge - xhdpi \ dimens.xml
nexus 9 (8.9 ", 2048 * 1556: xhdpi)
nexus 10 (10.1 ", 2560 * 1600: xhdpi)
besar - xhdpi \ dimens.xml
Perangkat di bawah ini dapat mengubah ukuran layar ketika kami mengubah besar - xhdpi \ dimens.xml
nexus 7 (7.0 ", 1200 * 1920: xhdpi)
nexus 7 (2012) (7.0 ", 800 * 1280: tvdpi)
Layar di bawah ini terlihat di "Search Generic Phones and Tablets"
besar - mdpi \ dimens.xml
Perangkat di bawah ini dapat mengubah ukuran layar saat kami mengubah - mdpi \ dimens.xml besar
5.1 "WVGA (480 * 800: mdpi)
5.4 "FWVGA (480 * 854: mdpi)
7.0 "WSVGA (Tablet) (1024 * 600: mdpi)
normal - hdpi \ dimens.xml
Perangkat di bawah ini dapat mengubah ukuran layar ketika kami mengubah normal - hdpi \ dimens.xml
nexus s (4.0 ", 480 * 800: hdpi)
nexus one (3.7 ", 480 * 800: hdpi)
kecil - ldpi \ dimens.xml
Perangkat di bawah ini dapat mengubah ukuran layar saat kami mengubah - ldpi \ dimens.xml kecil
2.7 "QVGA Slider (240 * 320: ldpi)
2,7 "QVGA (240 * 320: ldpi)
xlarge - mdpi \ dimens.xml
Perangkat di bawah ini dapat mengubah ukuran layar ketika kami mengubah xlarge - mdpi \ dimens.xml
10.1 "WXGA (tABLET) (1280 * 800: MDPI)
normal - ldpi \ dimens.xml
Perangkat di bawah ini dapat mengubah ukuran layar saat kami mengubah normal - ldpi \ dimens.xml
3.3 "WQVGA (240 * 400: LDPI)
3.4 "WQVGA (240 * 432: LDPI)
normal - hdpi \ dimens.xml
Perangkat di bawah ini dapat mengubah ukuran layar ketika kami mengubah normal - hdpi \ dimens.xml
WVGA 4.0 "(480 * 800: hdpi)
3,7 "WVGA (480 * 800: hdpi)
3,7 "FWVGA Slider (480 * 854: hdpi)
normal - mdpi \ dimens.xml
Perangkat di bawah ini dapat mengubah ukuran layar ketika kami mengubah normal - mdpi \ dimens.xml
3.2 "HVGA Slider (ADP1) (320 * 480: MDPI)
3.2 "QVGA (ADP2) (320 * 480: MDPI)
sumber
values-normal-xhdpi
?Ada perpustakaan bagus yang akan menangani semuanya dan mengurangi rasa sakit Anda. Untuk menggunakannya, cukup tambahkan dua dependensi secara bertahap:
Setelah itu, gunakan
dimens
seperti ini:sumber
Saya telah mengunggah program java sederhana yang mengambil lokasi proyek Anda dan file dimensi yang Anda inginkan sebagai input. Berdasarkan itu, itu akan menampilkan file dimensi yang sesuai di konsol. Berikut tautannya:
https://github.com/akeshwar/Dimens-for-different-screens-in-Android/blob/master/Main.java
Berikut kode lengkap untuk referensi:
sumber
Anda harus membuat
values
folder yang berbeda untuk layar yang berbeda dan meletakkandimens.xml
file sesuai dengan kepadatan.sumber
ldpi
,mdpi
dengan caravalues-xxhdpi
untuk Nexus 6?320x480
adalah mdpi khas . Jadi, letakkan divalues
atau divalues-mdpi
Anda bisa meletakkannya
dimens.xml
di1) nilai
2) nilai-hdpi
3) nilai-xhdpi
4) nilai-xxhdpi
Dan memberikan ukuran yang berbeda di
dimens.xml
dalam folder yang sesuai sesuai dengan kepadatan.sumber
Jika anda ingin melihat lebih banyak: Berikut adalah link yang untuk daftar perangkat (tablet, ponsel, jam tangan), termasuk
watch
,chromebook
,windows
danmac
. Di sini Anda dapat menemukan kerapatan, dimensi, dan lain-lain. Hanya mendasarkannya di sini, ini adalah sumber yang bagus jika Anda menggunakan emulator juga.Jika Anda mengklik item tertentu, itu akan menampilkan detail lebih banyak di sisi kanan.
Karena itu
Android
, saya akan memposting yang terkait dengannya.~ Lebih baik jika Anda menyimpan salinan web. Untuk melihatnya secara offline.
sumber
Android 3.2 memperkenalkan pendekatan baru untuk ukuran layar, angka-angka yang menggambarkan ukuran layar semuanya dalam satuan "dp". Sebagian besar kita dapat menggunakan
dp lebar terkecil: lebar terkecil yang tersedia untuk tata letak aplikasi dalam unit “dp”; ini adalah dp lebar terkecil yang pernah Anda temui dalam rotasi layar apa pun.
Untuk membuat satu klik kanan pada res >>> baru >>> direktori sumber daya Android
Dari jendela Kualifikasi yang Tersedia, pindahkan Lebar Layar Terkecil ke Kualifikasi yang Dipilih
Di jendela Layar lebar cukup tulis nilai "dp" mulai dari Anda ingin Android Studio menggunakan dimens itu.
Daripada mengubah ke tampilan Proyek , klik kanan pada direktori sumber daya yang baru dibuat
baru >>> Nilai sumber daya file masukkan nama file baru dimens.xml dan Anda selesai.
sumber