Android: Tüm Cihazları Destekleyen Arka Plan Görüntü Boyutu (Piksel cinsinden)


114

Tüm Android Cihazlarda çalışacak bir Uygulama oluşturuyorum. Uygulamam için xhdpi Grafikleri oluşturmak istiyorum. Uygulamam tam ekran. Grafik oluşturma konusunda kafam karıştı. herhangi biri bana arka plan resmimin piksel cinsinden en iyi boyutlarını söyleyebilir.

Örneğin:

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

Bana tüm cihazlarda görünecek en iyi boyutları önerin. Çünkü grafiklerim uygulamamın temelini oluşturuyor.

Her cihazın istediği en iyi görüntüyü almasını istiyorum. Android, görüntünün sıkıştırılmasına veya genişletilmesine dahil olmayacak.


3
Android Belgelerinin Android Çoklu ekran desteğini okuyun, Kullanıcı arayüzü standardını
veriyorlar

Tüm eski, yeni ve gelecek cihazlar için en iyisi olan bu çözümü kullanın. stackoverflow.com/a/40255870/2489061
Umer

Yanıtlar:


200

Aşağıdakiler, uygulamanın tüm cihazlarda çalışması için en iyi boyutlardır. Birden çok destek ekranını anlamak için http://developer.android.com/guide/practices/screens_support.html okumanız gerekir.

xxxhdpi: 1280x1920 px
xxhdpi: 960x1600 px
xhdpi: 640x960 px
hdpi: 480x800 px
mdpi: 320x480 px
ldpi: 240x320 px

10
XX, 2x HDPI olmalıdır
LarryBud

1
ilginç, nexus 5 xxhdpi, ancak ekran boyutu 1080x1920
Roman

3
LG G3 1440 x 2560 çözünürlüğe sahiptir ve xxxhdpi kullanır.
Roel

1
Bu, android ile ilgili temel sorun / zorluktur, hdpi, xhdpi, vb. İçin belirlenmiş bir boyut yoktur, çünkü her üretici, yalnızca elmanın yaptığı IOS'un aksine, farklı boyutlarda bir telefon / tablet yapabilir.
Aralıkla

Tüm eski, yeni ve gelecek cihazlar için en iyisi olan bu çözümü kullanın. stackoverflow.com/a/40255870/2489061
Umer

63

Android Cihaz Matrisleri

                            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 

(Arkaplan Ekranının toplam yüksekliğinden Araç Çubuğu Boyutu eksi iyi bir yaklaşım için ve ardından Ekranların Tasarım Grafikleri)

Daha Fazla Yardım İçin (Bu bağlantı tabletleri de içerir):

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

Android Yerel Simgeleri (Önerilir) Bu simgelerin rengini programla değiştirebilirsiniz . https://design.google.com/icons/


Tezler neden burada önerilen çarpanlarla uyumlu değil? developer.android.com/training/multiscreen/screendensities#java
Ben



4

GIMP aracı , farklı piksel çözünürlük cihazları için görüntüleri oluşturmak için tam olarak ihtiyacınız olan şeydir.

Bu adımları takip et:

  1. Mevcut görüntüyü GIMP aracında açın.
  2. "Görüntü" menüsüne gidin ve "Görüntüyü Ölçekle ..." seçeneğini seçin.
  3. İhtiyacınız olan piksel boyutunun altında kullanın:

    xxxhdpi: 1280x1920 piksel

    xxhdpi: 960x1600 piksel

    xhdpi: 640x960 piksel

    hdpi: 480x800 piksel

    mdpi: 320x480 piksel

    ldpi: 240x320 piksel

  4. Ardından görüntüyü "Dosya" menüsünden "Dışa Aktar".


3

Anladığım kadarıyla, bir Viewnesne kullanırsanız (örneğin, olması gerektiği gibi android:windowBackground) Android, görüntünüzü otomatik olarak doğru boyuta ölçekleyecektir. Sorun, çok fazla ölçeklemenin yapaylıklara (hem yukarı hem de aşağı ölçekleme sırasında) ve bulanıklığa neden olabilmesidir. Piyasadaki çeşitli çözünürlükler ve görünüm oranları nedeniyle, her ekran için "mükemmel" uyum oluşturmak imkansızdır, ancak yalnızca biraz ölçeklendirmenin yapılması gerektiğinden emin olmak için elinizden gelenin en iyisini yapabilir ve böylece istenmeyen yan etkileri azaltabilirsiniz. . Yani yapacağım şey:

  • Altı genelleştirilmiş yoğunluk (ldpi, mdpi, hdpi, vb.) Arasında 3: 4: 6: 8: 12: 16 ölçekleme oranını koruyun.
  • UI öğeleriniz için xxxhdpi öğeleri eklememelisiniz, bu çözünürlük yalnızca başlatıcı simgelerini yükseltmek içindir (bu nedenle yalnızca mipmap klasörü) ... Başlatıcı simgesi dışındaki UI öğeleri için xxxhdpi niteleyicisini kullanmamalısınız. ... her ne kadar örneğin. Samsung edge 7'de arama getDisplayMetrics().density4 (xxxhdpi) döndürür, bu yüzden belki bu bilgi güncel değildir.
  • Ardından piyasadaki yeni telefon modellerine bakın ve temsili olanları bulun. Yeni google pikselinin bir android telefonun iyi bir temsili olduğunu varsayarsak: 441 dpi çözünürlükte 1080 x 1920 çözünürlüğe ve 4,4 x 2,5 inç ekran boyutuna sahiptir . Ardından , android geliştirici belgelerinden :

    • ldpi (düşük) ~ 120dpi
    • mdpi (orta) ~ 160dpi
    • hdpi (yüksek) ~ 240dpi
    • xhdpi (ekstra yüksek) ~ 320dpi
    • xxhdpi (ekstra ekstra yüksek) ~ 480dpi
    • xxxhdpi (ekstra ekstra ekstra yüksek) ~ 640dpi

    Bu bir xxhdpiekrana karşılık gelir . Buradan bu 1080 x 1920'yi yukarıdaki (3: 4: 6: 8: 12) oranlarla küçültebilirim.

  • Ayrıca altörneklemenin ölçeklendirmenin genellikle kolay bir yolu olduğunu da kabul edebilirim ve bu nedenle, apk'mde biraz büyük boyutlu bitmap'lerin paketlenmesini isteyebilirim (Not: daha yüksek bellek tüketimi). Bir kez daha piksel ekranının genişliğinin ve yüksekliğinin temsili olduğunu varsayarsak, 1080x1920'yi 480/441 faktörü ile ölçeklendiririm ve maksimum çözünürlüklü arka plan resmimi yaklaşık olarak bırakırım. 1200x2100, 3: 4: 6: 8: 12 ile ölçeklenmelidir.
  • Unutmayın, bitmap dosyaları (.png, .jpg veya .gif) ve Dokuz Yama dosyaları (.9.png) için yalnızca yoğunluğa özgü çekilebilir öğeler sağlamanız gerekir. Çekilebilir kaynakları (ör. Şekiller) tanımlamak için XML dosyaları kullanıyorsanız, varsayılan çekilebilir dizine yalnızca bir kopya koyun.
  • Çok büyük veya tuhaf en boy oranlarına uyum sağlamak zorunda kalırsanız, bunun için bayrakları kullanarak bunlar için de özel klasörler oluşturun, örn. sw, long, largeVb
  • Ve arka planı iki kez çizmeye gerek yok. Bu nedenle bir stil belirleyin<item name="android:windowBackground">@null</item>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.