web-dev-qa-db-fra.com

ImageView ne conservant pas la hauteur et la largeur maximales

Je charge une image dans un ImageView à l'aide de .setImageURI(selectedImageUri) qui est récupérée dans la galerie de photos de l'utilisateur. J'ai la vue d'image restreindre la taille avec

Android:maxHeight="150dp"
Android:minHeight="150dp" 
Android:maxWidth="150dp" 
Android:minWidth="150dp"

C'est bien jusqu'à ce que vous ajoutiez l'image de la galerie. L'image oublie alors la hauteur et la largeur maximales. Il est aussi large que l'écran et il y a beaucoup d'espace au-dessus et en dessous de l'image. J'ai dû ajouter une vue de défilement juste pour voir l'image et faire défiler vers le bas. il y a une quantité égale d'espace au-dessus et en dessous. Quelqu'un at-il déjà rencontré ce problème?

43
bwoogie

Ajoutez ce qui suit à votre code XML (Ou utilisez fonction appropriée )

Android:adjustViewBounds="true"

Je ne sais pas pourquoi ce n'est pas un défaut, car il semble que ce serait nécessaire pour un grand nombre d'articles. Pourtant, l'ajout de cette logique simple à votre fichier XML fera toute la différence.

129
PearsonArtPhoto

Je n'ai pas. Donc, je vais juste deviner

  1. Avez-vous essayé de définir une option ScaleType ?
  2. Vérifiez les attributs de disposition opposés qui peuvent faire en sorte que le gonfleur de disposition ignore les valeurs de largeur/hauteur souhaitées.
  3. Je suppose que vous avez déjà essayé cela, mais utilisez simplement Layout_height/Layout_width au lieu d'attributs min/max ..
3
Orkun Ozen