Invité hardrocky Posté(e) 16 mars 2013 Share Posté(e) 16 mars 2013 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 :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 18 mars 2013 Share Posté(e) 18 mars 2013 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.) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité hardrocky Posté(e) 18 mars 2013 Share Posté(e) 18 mars 2013 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 ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 18 mars 2013 Share Posté(e) 18 mars 2013 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 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité hardrocky Posté(e) 18 mars 2013 Share Posté(e) 18 mars 2013 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é. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 19 mars 2013 Share Posté(e) 19 mars 2013 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... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité hardrocky Posté(e) 19 mars 2013 Share Posté(e) 19 mars 2013 (modifié) 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é 19 mars 2013 par hardrocky Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité hardrocky Posté(e) 25 mars 2013 Share Posté(e) 25 mars 2013 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 ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 26 mars 2013 Share Posté(e) 26 mars 2013 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é Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité hardrocky Posté(e) 26 mars 2013 Share Posté(e) 26 mars 2013 Merci :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.