9
votes

Pourquoi la largeur / la hauteur du digilable dans imageView ne va pas?

devrait être simple.

quand je tire image.gedDrawable (). getIntrinsicWidth () i Obtenir une valeur supérieure à la largeur de l'image source. Sa coordonnée X retourne 2880 au lieu de 1920, qui est 1,5 fois trop grande?

Je me demandais que l'imageView ait un scélantage de "centre", mais, selon le Documentation :

"Centre l'image dans la vue, mais n'effectue aucune mise à l'échelle. "

Voici la source: xxx


2 commentaires

Utilisez-vous wrap_content dans le imageview ?


Oui, mon imageview a wrap_content pour la hauteur et la largeur.


4 Réponses :


0
votes

Vérifiez s'il renvoie la valeur de sa taille affichée, ce n'est pas une taille réelle. Par exemple, une annonce de bannière 50x320px sur un téléphone traditionnel 800x480 s'affiche 75x480.

devrait être capable de comparer contre la densité (ou vos yeux!) Pour voir ce qu'il fait.


1 commentaires

La différence n'est pas si grande (elle donne 1660 au lieu de 1400). Comment puis-je vérifier la densité?



0
votes

Cela ne sera probablement rien à ne faire que si vous rencontrez, mais juste pour des coups de pied, je vais le suggérer de rester sûr de toute façon: spécifiez-vous Android: Minssdkversion dans votre manifeste?

Une seule raison pour laquelle je le mentionne, c'est parce que pendant un moment, je ne le faisais pas dans un projet et j'ai appris que cela visse la densité de l'écran et a causé toutes sortes de problèmes étranges.


1 commentaires

J'ai mon version Minssdk définie sur 10



4
votes

Avez-vous essayé de multiplier la hauteur et la largeur par densité: xxx

est votre digue dans des ressources ou téléchargez sur le Web? S'il est téléchargé, vous devez lui donner la densité: xxx


0 commentaires

28
votes

Vous avez dit que le dossier digue est de votre dossier / res . Quel dossier est-il?

  • / res / drable

  • / res / diguable-mdpi

  • / res / diguable-hdpi

    etc ..

    Et quelle est la densité de l'appareil que vous testez? Est-ce un Nexus S avec une densité générale de 240DPI? Étant donné que si votre source digue est située dans le dossier dossier-MDPI et que vous testez sur un périphérique 240DPI, le système Android sera automatiquement à l'abri automatique d'un facteur de 1.5 Pour que la taille physique soit compatible avec la densité de dispositifs de base à 160DPI.

    Lorsque vous appelez getIntrinsicWidth () Ce qui est retourné est la taille de la taille digue veut après l'échelle Android. Vous remarquerez que 2880 = 1920 * 1.5

    Si vous avez placé le système diguable dans / res / res / code> Le système Android traite les érables comme indiqué pour les périphériques MDPI, donc l'amorçage de votre Nexus S. Si cela était destiné aux écrans HDPI et que vous faites. Je ne veux pas que cela haut de gamme puis essayez de le placer dans digue-HDPI


0 commentaires