Je charge donc des images à partir d'un service Web, mais la taille des images est parfois plus petite ou plus grande que les autres images et la visualisation semble idiote lorsque je les mets dans un ListView dans Android. Je voudrais fixer la taille de mon ImageView afin qu'elle ne montre qu'une partie de l'image si elle est plus grande qu'une quantité prédéfinie. J'ai essayé tout ce que je peux penser pour définir setMaxWidth/setMaxHeight, définir le type d'échelle sur centerCrop, en utilisant ClipableDrawable encapsulant mon BitmapDrawable, en utilisant Drawable.setBounds (). J'ai essayé de définir le XML et par programme, mais aucun n'a fonctionné. Je suis très surpris que le réglage de la largeur/hauteur maximale n'ait rien fait. Voici le XML que j'utilise la définition ImageView dans mon fichier de mise en page:
<ImageView Android:id="@+id/recipeImage"
Android:maxHeight="64px"
Android:maxWidth="64px"
Android:scaleType="centerCrop"
Android:layout_width="wrap_content"
Android:layout_height="fill_parent"
Android:layout_alignParentTop="true"
Android:layout_alignParentBottom="true"
Android:layout_marginRight="6dip"/>
Mais rien n'a fonctionné.
Supprimez simplement les attributs maxHeight
et maxWidth
et entrez vos unités dans layout_width
et layout_height
convenablement. Mais n'utilisez pas l'unité px
- utilisez plutôt dp
, car ils sont indépendants de l'appareil.
Cela adaptera l'image à la hauteur et à la largeur spécifiées, indépendamment de la taille de l'image.
<ImageView
Android:id="@+id/image5"
Android:layout_width="300dp"
Android:layout_height="200dp"
Android:src="@drawable/image_1"
Android:scaleType="fitXY"/>
Get ImageVIews as facebook posts.
Glide.with(context).load(link)
.placeholder(R.drawable.aboutlogo)
.fitCenter()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);`
<ImageView
Android:id="@+id/img1"
Android:src="@drawable/ic_menu_camera"
Android:adjustViewBounds="true"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:scaleType="center"/>