Android: Ukuran Gambar Latar Belakang (dalam Piksel) yang Mendukung Semua Perangkat

114

Saya membuat Aplikasi yang akan berjalan di semua Perangkat Android. Saya ingin membuat Grafik xhdpi untuk Aplikasi Saya. Aplikasi Saya adalah layar penuh. Saya bingung dalam membuat grafik. dapatkah seseorang memberi tahu saya ukuran terbaik dari gambar latar saya dalam piksel.

Sebagai contoh:

  • xhdpi: 720x1280 piksel
  • hdpi: 480x800 px
  • mdpi: 320x480 piksel
  • ldpi: 240x320 piksel

Sarankan saya ukuran terbaik yang akan muncul di semua perangkat dengan baik. Karena grafik saya adalah inti dari aplikasi saya.

Saya ingin setiap perangkat mendapatkan gambar terbaik yang diinginkannya. Android tidak akan terlibat dalam mengompresi atau memperluas gambar.

Ahmed Nawaz
sumber
3
Baca dukungan Beberapa layar Android Dokumentasi Android, mereka memberikan standar untuk Antarmuka pengguna
RajeshVijayakumar
Gunakan solusi yang satu ini, ini yang terbaik untuk semua perangkat lama dan baru dan untuk perangkat yang akan datang. stackoverflow.com/a/40255870/2489061
Umer

Jawaban:

199

Berikut ini adalah dimensi terbaik untuk menjalankan aplikasi di semua perangkat. Untuk memahami beberapa layar pendukung, Anda harus membaca http://developer.android.com/guide/practices/screens_support.html

xxxhdpi: 1280x1920 px
xxhdpi: 960x1600 px
xhdpi: 640x960 px
hdpi: 480x800 px
mdpi: 320x480 px
ldpi: 240x320 px
Veerababu Medisetti
sumber
10
XX harus 2x HDPI
LarryBud
1
menarik, nexus 5 adalah xxhdpi, tetapi ukuran layarnya 1080x1920
Roman
3
LG G3 memiliki resolusi 1440 x 2560 dan menggunakan xxxhdpi.
Roel
1
Itulah masalah / tantangan utama dengan android, tidak ada ukuran yang ditetapkan untuk hdpi, xhdpi, dll karena setiap pabrikan dapat membuat ponsel / tablet dengan ukuran yang berbeda, tidak seperti iOS yang hanya dibuat oleh apel. Lihatlah bagian pada rentang: developer.android.com/guide/practices/…
toidiu
Gunakan solusi yang satu ini, ini yang terbaik untuk semua perangkat lama dan baru dan untuk perangkat yang akan datang. stackoverflow.com/a/40255870/2489061
Umer
63

Matriks Perangkat Android

                            ldpi     mdpi     hdpi    xhdpi    xxhdpi      xxxhdpi
Launcher And Home           36*36    48*48   72*72    96*96    144*144     192*192
Toolbar And Tab             24*24    32*32   48*48    64*64    96*96       128*128
Notification                18*18    24*24   36*36    48*48    72*72       96*96 
Background                 240*320  320*480 480*800  768*1280  1080 *1920  1440*2560 

(Untuk pendekatan yang baik dikurangi Ukuran Toolbar Dari total tinggi Layar Latar Belakang dan kemudian Desain Grafik Layar)

Untuk Bantuan Lebih Lanjut (Tautan ini juga mencakup tablet):

https://design.google.com/devices/

Ikon Asli Android (Disarankan) Anda dapat mengubah warna ikon ini secara terprogram . https://design.google.com/icons/

Umer
sumber
Mengapa tesis ini tidak sesuai dengan pengganda yang disarankan di sini? developer.android.com/training/multiscreen/screendensities#java
Ben
16

Periksa ini. Gambar ini akan ditampilkan untuk semua ukuran ikon untuk berbagai ukuran layar

Ukuran

Ketan Ramani
sumber
4
dari mana ini?
Mohammed Sohail Ebrahim
dari salah satu situs sambil berselancar
Ketan Ramani
5

Saya mencari di internet untuk mencari dimensi yang benar untuk kepadatan gambar persegi ini, tetapi tidak dapat menemukan sesuatu yang dapat diandalkan.

Jika ada penghiburan, mengacu pada jawaban Veerababu Medisetti, saya menggunakan dimensi ini untuk SQUARES :)

xxxhdpi: 1280x1280 px
xxhdpi: 960x960 px
xhdpi: 640x640 px
hdpi: 480x480 px
mdpi: 320x320 px
ldpi: 240x240 px
jp093121
sumber
Gunakan solusi yang satu ini, ini yang terbaik untuk semua perangkat lama dan baru dan untuk perangkat yang akan datang. stackoverflow.com/a/40255870/2489061
Umer
4

Alat GIMP adalah alat yang Anda butuhkan untuk membuat gambar untuk perangkat resolusi piksel yang berbeda.

Ikuti langkah ini:

  1. Buka gambar yang ada di alat GIMP.
  2. Buka menu "Gambar", dan pilih "Skala Gambar ..."
  3. Gunakan di bawah dimensi piksel yang Anda butuhkan:

    xxxhdpi: 1280x1920 piksel

    xxhdpi: 960x1600 px

    xhdpi: 640x960 px

    hdpi: 480x800 px

    mdpi: 320x480 piksel

    ldpi: 240x320 piksel

  4. Kemudian "Ekspor" gambar dari menu "File".

Sagar Rathod
sumber
3

Pemahaman saya adalah bahwa jika Anda menggunakan Viewobjek (seperti yang diharapkan misalnya android:windowBackground) Android akan secara otomatis menskalakan gambar Anda ke ukuran yang benar. Masalahnya adalah terlalu banyak penskalaan dapat mengakibatkan artefak (baik selama penskalaan naik maupun turun) dan kabur. Karena berbagai resolusi dan rasio aspek di pasaran, tidak mungkin membuat tampilan yang "sempurna" untuk setiap layar, tetapi Anda dapat melakukan yang terbaik untuk memastikan hanya sedikit penskalaan yang harus dilakukan, dan dengan demikian mengurangi efek samping yang tidak diinginkan . Jadi yang akan saya lakukan adalah:

  • Pertahankan rasio skala 3: 4: 6: 8: 12: 16 antara enam kepadatan umum (ldpi, mdpi, hdpi, dll).
  • Anda tidak boleh menyertakan elemen xxxhdpi untuk elemen UI Anda, resolusi ini dimaksudkan untuk menaikkan skala ikon peluncur saja (jadi hanya folder mipmap) ... Anda tidak boleh menggunakan qualifier xxxhdpi untuk elemen UI selain ikon peluncur. ... meskipun mis. di tepi Samsung 7 memanggil getDisplayMetrics().densitymengembalikan 4 (xxxhdpi), jadi mungkin info ini sudah usang.
  • Kemudian lihat model telepon baru yang ada di pasaran, dan temukan yang representatif. Dengan asumsi piksel Google baru adalah representasi yang baik dari ponsel Android: Ini memiliki resolusi 1080 x 1920 pada 441 dpi, dan ukuran layar 4,4 x 2,5 inci . Kemudian dari dokumen pengembang android :

    • ldpi (rendah) ~ 120dpi
    • mdpi (sedang) ~ 160dpi
    • hdpi (tinggi) ~ 240dpi
    • xhdpi (ekstra tinggi) ~ 320dpi
    • xxhdpi (ekstra-ekstra-tinggi) ~ 480dpi
    • xxxhdpi (ekstra-ekstra-ekstra-tinggi) ~ 640dpi

    Ini sesuai dengan xxhdpilayar. Dari sini saya bisa menurunkan skala 1080 x 1920 ini dengan rasio (3: 4: 6: 8: 12) di atas.

  • Saya juga dapat mengakui bahwa downsampling umumnya merupakan cara mudah untuk menskalakan dan oleh karena itu saya mungkin ingin bitmap berukuran agak besar yang dibundel dalam apk saya (Catatan: konsumsi memori yang lebih tinggi). Sekali lagi dengan asumsi bahwa lebar dan tinggi layar piksel mewakili, saya akan meningkatkan 1080x1920 dengan faktor 480/441, meninggalkan gambar latar belakang resolusi maksimum saya pada sekitar. 1200x2100, yang kemudian harus diskalakan dengan 3: 4: 6: 8: 12.
  • Ingat, Anda hanya perlu menyediakan resource yang dapat digambar dengan kepadatan tertentu untuk file bitmap (.png, .jpg, atau .gif) dan file Nine-Patch (.9.png). Jika Anda menggunakan file XML untuk menentukan sumber daya dapat digambar (mis. Bentuk), cukup letakkan satu salinan di direktori dapat digambar default.
  • Jika Anda pernah harus mengakomodasi rasio aspek yang sangat besar atau ganjil, buat folder khusus untuk ini juga, menggunakan flag untuk ini, mis. sw, long, large, Dll
  • Dan tidak perlu menggambar background dua kali. Oleh karena itu atur gaya dengan<item name="android:windowBackground">@null</item>
Overclover
sumber