Jump to content

Problème de dimension image background


Gnaag
 Share

Recommended Posts

Bonjour,

je suis actuellement en train de développer une application sous android.

je me suis, dans un premier temps, préoccupé des fonctionnalités qui fonctionne parfaitement.

Maintenant, je m'attaque au design de mon application, et j'ai donc créé une image sur photoshop que j'utilise sur mon application.

Je souhaiterais que mon image soit adaptée à toutes les tailles d'écran de téléphone, et je sais que pour ce faire, il y a ceci :

res/drawable-mdpi/my_icon.png // bitmap for medium density

res/drawable-hdpi/my_icon.png // bitmap for high density

res/drawable-xhdpi/my_icon.png // bitmap for extra high density

Toutefois, entre les dpi, les dp et px, je n'y comprends pas grand chose, et je ne sais donc pas quelle dimension ou résoluttion mettre a mes images

Quelqu'un pourrait me donner plus d'informations a ce sujet?

Cordialement, Gnaag.

Link to comment
Share on other sites

la difference entre ldpi,mdpi,hdpi et xhdpi n'est pas la resolution mais la densité de pixel!:

une tablette 10" en mdpi aura une plus grande resolution qu'un telephone 4" en hdpi par exemple.

Sinon, il n'y a aucune difference en dp et dpi,et px represente un pixel physique sur ton ecran,si tu veux que ton appli tourne sur plusieurs types d'appareils n'utilise jamais px!

Les dossiers

res/drawable-mdpi/my_icon.png

res/drawable-hdpi/my_icon.png

res/drawable-xhdpi/my_icon.png

sont la pour optimiser la qualité de tes images quelque soit la densité de l'écran de l'appareil qui va lancer ton appli.

car une image qui fait 2,53 cm de large sur un ecran ldpi fera 120 pixels alors qu'une image qui fera également 2,53cm sur un écran hdpi fera elle 240 pixels.

Cependant android est capable de redimensionner lui meme les images si il ne trouve pas de resource associé à la densité du telephone.Tu peux donc mettre tes images dans un seul dossier, exprimer la tailles de tes images en dpi, android fera le reste

Link to comment
Share on other sites

Merci CocoVince pour ta réponse !

Donc si je comprends bien, lors de la création de l'image sur Photoshop, je ne me souci pas du nombre de px, puisqu'Android s'en charge?

Toutefois, si les dossiers que tu as cités permettent d'optimiser la qualité de mes images, ces derniers ne permettent pas d'ajuster l'image suivant si c'est un écran normal ou large, et l'image se retrouverait donc écrasée non?

Link to comment
Share on other sites

Salut !

Je me permets d'ajouter un petit complément.

Pour ce qui est du design sur photoshop et de la densité de pixel, voilà comment je procède (je ne dis pas que c'est la meilleure solution, je ne suis pas un pro de ps :D) :

Lors de la création de mon nouveau fichier, je lui fixe une résolution (je parle bien du champ résolution hein ^^) de 200 pixels par pouce. Je fixe cette résolution arbitrairement, elle me permet de facilement procéder au redimensionnement de mon design à posteriori.

Ce design correspondra au design pour une density de pixel "xhdpi".

Je fais ma popotte puis quand vient le moment d'exporter mes composants, j'exporte tout ce qui est à destination de "xhdpi" tel quel puis pour exporter les autres résolution, je fais "Image>Taille de l'image" et dans la fenêtre de config de la taille, je passe la résolution à 150 px/pouce. En gros, pourquoi 150, tout simplement parce que les densités de pixel android ont les ratio suivant :

xhdpi = 2x

hdpi = 1.5x

mdpi = 1x

ldpi = 0.75x

Ce qui nous donne, pour le redimensionnement à partir de 200px/pouce :

xhdpi = 200px/pouce

hdpi = 150px/pouce

mdpi = 100px/pouce

ldpi = 75px/pouce

Ensuite, pour le problème d'écrasement d'image en fonction de la largeur d'écran, il n'y a pas de solution miracle, il faut :

- rendre ton design le plus flexible possible

- affecter des paramètres de fit cohérents sur les ImageView

Après, dans des contextes vraiment critiques, si tu souhaites avoir un design qui collera quasi parfaitement à tout type d'écran, tu peut multiplier le nombre d'images en fonction de 3 critères : la densité de pixel ET le ratio de l'écran ET l'orientation, ce qui donne une configuration de fichiers ressources (images et layout) ultra lourd :D M'enfin, c'est à définir en fonction de la criticité de certaines parties du design ;)

Fiou, j'espère ne pas avoir trop dérivé et t'avoir apporter un petit plus.

Après, c'est un point de vue personnel ;)

N'hésite pas si tu as des questions.

A plus

Link to comment
Share on other sites

sous photoshop, il vaut mieux que tu enregistre ton image à une taille proche de celle qui sera utilisé par ton tel(android les redimensionne, mais il y a inévitablement une perte de qualité).

pour ce qui est des écrans plus grand, tu peux creer un dossier res/drawable-mdpi-xlarge

en plus de xlarge il existe les attributs small, normal, large

more info: http://developer.android.com/guide/practices/screens_support.html

Link to comment
Share on other sites

Merci pour vos réponses et pour les informations que vous m'avez apportés !

Pour ce qui est de la création d'un nouveau fichier, combien dois-je mettre en largeur et en hauteur? Car en effet, selon les téléphones, ces valeurs changent, alors comment adapter mes images?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...