Donc, j'ai une imageview qui devrait afficher une image arbitraire, une photo de profil téléchargée sur Internet. Je veux que ImageView redimensionne son image pour l'adapter à la hauteur du conteneur parent et à une largeur maximale définie de 60dip. Cependant, si l'image est haute en termes de rapport et qu'elle n'a pas besoin des 60dip complets de largeur, la largeur de ImageView doit diminuer pour que l'arrière-plan de la vue s'adapte parfaitement à l'image.
J'ai essayé ça,
<ImageView android:id="@+id/menu_profile_picture"
android:layout_width="wrap_content"
android:maxWidth="60dip"
android:layout_height="fill_parent"
android:layout_marginLeft="2dip"
android:padding="4dip"
android:scaleType="centerInside"
android:background="@drawable/menubar_button"
android:layout_centerVertical="true"/>
mais cela a rendu ImageView super grand pour une raison quelconque, peut-être qu'il a utilisé la largeur intrinsèque de l'image et wrap_content pour le définir - de toute façon, il ne respectait pas mon attribut maxWidth .. Est-ce que cela ne fonctionne que dans certains types de conteneurs? C'est dans un LinearLayout ...
Aucune suggestion?
Le réglage
adjustViewBounds
n'aide pas si vous utilisezmatch_parent
, mais la solution de contournement est simple et personnaliséeImageView
:la source