124 votes

Android : Taille de l'image d'arrière-plan (en pixels) pour tous les appareils

Je suis en train de créer une application qui fonctionnera sur tous les appareils Android. Je veux créer des graphiques en xhdpi pour mon application. Mon application est en plein écran. Je suis confus dans la création de graphiques. Quelqu'un peut-il me dire les meilleures tailles de mon image de fond en pixels.

Par exemple :

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

Suggérez-moi les meilleures tailles qui apparaîtront bien sur tous les appareils. Parce que mes graphiques sont le noyau de mon application.

Je veux que chaque appareil obtienne la meilleure image qu'il souhaite. Android ne sera pas impliqué dans la compression ou l'expansion de l'image.

206voto

Les dimensions suivantes sont les meilleures pour que l'application fonctionne sur tous les appareils. Pour comprendre les écrans à support multiple, vous devez lire 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

66voto

Umar Points 137

Matrices des dispositifs 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 

(Pour une bonne approche, soustrayez la taille de la barre d'outils de la hauteur totale de l'écran d'arrière-plan, puis concevez les graphiques des écrans).

Pour plus d'aide (Ce lien inclut également les tablettes) :

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

Icônes natives d'Android (recommandé) Vous pouvez changer la couleur de ces icônes de manière programmée . https://design.google.com/icons/

20voto

Ketan Ramani Points 541

Regardez ça. Cette image s'affichera pour toutes les tailles d'icônes en fonction de la taille de l'écran.

Size

5voto

jp093121 Points 492

J'ai cherché sur Internet les dimensions correctes de ces densités pour les images carrées, mais je n'ai rien trouvé de fiable.

Si cela peut vous consoler, en vous référant à La réponse de Veerababu Medisetti J'ai utilisé ces dimensions pour SQUARES :)

xxxhdpi: 1280x1280 px
xxhdpi: 960x960 px
xhdpi: 640x640 px
hdpi: 480x480 px
mdpi: 320x320 px
ldpi: 240x240 px

4voto

Folkong Points 989

Si je comprends bien, si vous utilisez un View objet (comme supposé à par ex. android:windowBackground ) Android mettra automatiquement à l'échelle votre image à la taille correcte. Le problème est qu'une mise à l'échelle trop importante peut entraîner des artefacts (à la fois lors de la mise à l'échelle ascendante et descendante) et du flou. En raison de la diversité des résolutions et des rapports d'aspect sur le marché, il est impossible de créer des ajustements "parfaits" pour chaque écran, mais vous pouvez faire de votre mieux pour vous assurer que seule une petite partie de la mise à l'échelle doit être effectuée, et ainsi atténuer les effets secondaires indésirables. Voici donc ce que je ferais :

  • Respectez le rapport d'échelle 3:4:6:8:12:16 entre les six densités généralisées (ldpi, mdpi, hdpi, etc.).

  • Vous ne devriez pas inclure d'éléments xxxhdpi pour vos éléments d'interface utilisateur, cette résolution est destinée à la mise à l'échelle des icônes de lanceur uniquement (donc le dossier mipmap uniquement) ... Vous ne devez pas utiliser le qualificatif xxxhdpi pour les éléments de l'interface utilisateur autres que l'icône du lanceur. ... bien que Par exemple, sur le Samsung edge 7 qui appelle getDisplayMetrics().density renvoie 4 (xxxhdpi), donc peut-être que cette information est périmée.

  • Ensuite, regardez les nouveaux modèles de téléphone sur le marché, et trouvez ceux qui sont représentatifs. On peut supposer que le nouveau google pixel est une bonne représentation d'un téléphone Android : Il a une résolution de 1080 x 1920 à 441 ppp, et un écran de 4.4 x 2.5 pouces . Puis de la les documents destinés aux développeurs Android :

    • ldpi (faible) ~120dpi
    • mdpi (moyenne) ~160dpi
    • hdpi (élevé) ~240dpi
    • xhdpi (extra-high) ~320dpi
    • xxhdpi (extra-extra-haut) ~480dpi
    • xxxhdpi (extra-extra-extra-haut) ~640dpi

    Cela correspond à un xxhdpi écran. À partir de là, je pourrais réduire ces 1080 x 1920 selon les rapports (3:4:6:8:12) ci-dessus.

  • Je pourrais également reconnaître que le sous-échantillonnage est généralement un moyen facile de mettre à l'échelle et donc que je pourrais vouloir des bitmaps légèrement surdimensionnés dans mon apk (Note : consommation de mémoire plus élevée). Une fois de plus, en supposant que la largeur et la hauteur de l'écran de pixels sont représentatives, je mettrais à l'échelle le 1080x1920 par un facteur de 480/441, laissant mon image de fond de résolution maximale à environ 1200x2100, qui devrait ensuite être mise à l'échelle par le 3:4:6:8:12.

  • N'oubliez pas que vous ne devez fournir des ressources dessinables spécifiques à la densité que pour les fichiers bitmap (.png, .jpg, ou .gif) et les fichiers Nine-Patch (.9.png). Si vous utilisez des fichiers XML pour définir les ressources dessinables (par exemple, les formes), placez simplement une copie dans le répertoire drawable par défaut.

  • Si vous devez tenir compte de rapports d'aspect vraiment grands ou bizarres, créez des dossiers spécifiques pour ceux-ci également, en utilisant les drapeaux pour cela, par exemple. sw , long , large etc.

  • Et pas besoin de dessiner l'arrière-plan deux fois. Par conséquent, définissez un style avec <item name="android:windowBackground">@null</item>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X