Aller au contenu

Taille des drawable


Invité hardrocky

Recommended Posts

Invité hardrocky

Bonjour à tous,

Petit question, qui pourra paraitre idiote pour certains ^^

Pourquoi, au lieu de mettre les mêmes images en différentes tailles dans drawable-hdpi, drawable-mdpi, ldpi... on ne se contenterait pas de mettre la plus grande dans drawable et de virer les autres dossiers ? Ca ferait diminuer la taille de l'application.

Merci de m'éclairer :)

Lien vers le commentaire
Partager sur d’autres sites

Tu peux le faire. Dans ce cas, Android va s'adapter, et va upscaler/downscaler tes images en fonction de la densité réelle de l'appareil sur lequel tourne ton appli (les ressources dans drawable sont considérées comme étant de densité mdpi)

Ce qui au final pourra donner des résultats pas très heureux (pixelisation par ex.)

Lien vers le commentaire
Partager sur d’autres sites

Invité hardrocky

Merci pour les infos :) Donc si je mets toujours des images de grande résolution, il y a peu de chance d'obtenir un effet de pixelisation ?

Tiens d'ailleurs question annexe, comment connaitre à l'avance les résolutions que je dois appliquer à mes images ? Par exemple si j'ai un ImageButton de 100dp * 100dp, lors de la création de l'image, elle doit faire quelle taille en pixels ?

Lien vers le commentaire
Partager sur d’autres sites

Non, tu auras toujours un risque de pixelisation, car les ressources dans drawable sont considérées comme étant de densité mdpi, et sur un device hdpi ou xhdpi, Android devra upscaler tes images pour les afficher...

Et pour ce qui est de la taille, si tu spécifies une taille dans ton layout en dp (chose à éviter d'ailleurs, l'utilisation de dimensions fixes ne permet pas d'avoir des ihms qui s'adaptent ensuite aux differentes tailles d'écran), cette taille (en dp) ne correspond pas directement à une taille en pixel (dp = device independant pixel), la taille réelle en pixel sera fonction ensuite de la densité de l'affichage de l'appareil

Lien vers le commentaire
Partager sur d’autres sites

Invité hardrocky

Et pour ce qui est de la taille, si tu spécifies une taille dans ton layout en dp (chose à éviter d'ailleurs, l'utilisation de dimensions fixes ne permet pas d'avoir des ihms qui s'adaptent ensuite aux differentes tailles d'écran)

Ah bon ? Avec quelle unité alors ?

Par exemple sur ce sreen (mon appli) le bouton du bas fait 150dp de côté.

Lien vers le commentaire
Partager sur d’autres sites

Ce que je voulais dire, c'est qu'il n'est pas recommandé de spécifier des tailles fixes pour les composants d'une vue, il est préférable d'utiliser des valeurs telles que "match_parent" ou "wrap_content", pour faire en sorte que le composant s'adapte en fonction de son contenu/ de son parent/...

Ceci dit, si tu veux absolument spécifier une taille fixe, alors tu peux utiliser les dp: et si ton composant se base sur une image, il faut que cette image ait une taille en rapport; et là, il y a une conversion à faire entre les dp de l'écran et les pixels de l'image, en fonction de la densité de l'écran. Ca passe par un facteur multiplicatif, qui est de 1 pour les drawable en mdpi, de 1.5 pour hdpi, de 2 pour xhdpi et de 0.75 pour ldpi; ce qui veut dire que si ton image doit s'afficher dans un carré de 150dp à l'écran, elle doit faire 150 pixels pour la densité mdpi, 225 pour hdpi, etc...

Lien vers le commentaire
Partager sur d’autres sites

Invité hardrocky

Ah voilà, c'est ces ratios que je voulais, merci beaucoup :)

Et oui je suis d'accord sur le début, mais dans le cas d'un bouton (comme sur mon screen), je n'ai pas le choix je dois définir un taille fixe.

Modifié par hardrocky
Lien vers le commentaire
Partager sur d’autres sites

Invité hardrocky

Ah tiens une question qui me taraude. Si je mets des xml (pour le background d'un bouton) dans /drawable/, sera-il "interprété" sur un device de densité ldpi ?

Lien vers le commentaire
Partager sur d’autres sites

Un drawable au format XML ne doit être présent que dans le répertoire /drawable/ . Ensuite, Android utilisera les bitmaps référencés dans ce XML en fonction de la densité

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...