J'ai un imageview
dont la hauteur et la largeur sont définies sur fill_parent
avec un linearlayout
dont les valeurs sont identiques. Donc, je suppose que cela devrait régler mes images pour correspondre à l'écran. Mais cela ne correspond qu’à 80% (marge en haut et en bas en mode paysage).
J'ai essayé le code suivant sans succès:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
imgView.setMinimumWidth(width);
imgView.setMinimumHeight(height);
imgView.setMaxWidth(width);
imgView.setMaxHeight(height);
D'autres idées?
utiliser imgview.setScaleType(ScaleType.FIT_XY);
Donnez dans le fichier XML de votre mise en page Android:scaleType="fitXY"
P.S: ceci s'applique lorsque l'image est définie avec Android:src="..."
plutôt que Android:background="..."
, car les arrière-plans sont configurés par défaut pour s'étirer et s'adapter à la vue.
utilisez ceci:
ImageView.setAdjustViewBounds(true);
si vous utilisez Android:scaleType="fitXY"
, vous devez spécifier
Android:layout_width="75dp"
et Android:layout_height="75dp"
si vous utilisez wrap_content, il ne sera pas étendu à ce dont vous avez besoin
<ImageView
Android:layout_width="75dp"
Android:layout_height="75dp"
Android:id="@+id/listItemNoteImage"
Android:src="@drawable/MyImage"
Android:layout_alignParentTop="true"
Android:layout_alignParentStart="true"
Android:layout_marginStart="12dp"
Android:scaleType="fitXY"/>
La réponse acceptée est parfaite, cependant si vous voulez le faire à partir du XML, vous pouvez utiliser Android:scaleType="fitXY"
J'ai utilisé ce code Android:scaleType="fitXY"
dans un fichier XML.
changez simplement la hauteur et la largeur de votre ImageView en wrap_content et utilisez
exampleImage.setScaleType (ImageView.ScaleType.FIT_XY);
dans votre code.