android: étirer l’image dans imageview pour l’ajuster à l’écran

J’ai une imageview dont la hauteur et la largeur sont définies sur fill_parent avec un linearlayout qui a les mêmes valeurs définies. Donc, je suppose que cela devrait régler mes images pour qu’elles correspondent à l’écran. Mais cela ne correspond qu’à 80% (marge supérieure et inférieure 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?

utilisez imgview.setScaleType(ScaleType.FIT_XY);

Donnez le fichier XML de votre mise en page android:scaleType="fitXY"
PS: cela s’applique lorsque l’image est définie avec android:src="..." plutôt que android:background="..." car les arrière-plans sont définis 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 s’étirera pas à ce dont vous avez besoin

  

La réponse acceptée est parfaite, mais si vous voulez le faire à partir de XML, vous pouvez utiliser android:scaleType="fitXY"

J’ai utilisé ce code android:scaleType="fitXY" dans un fichier XML.

Il suffit de changer la hauteur et la largeur de votre ImageView pour wrap_content et utiliser

exampleImage.setScaleType (ImageView.ScaleType.FIT_XY);

dans votre code.

Essayer d’utiliser:

 imageview.setFitToScreen(true); imageview.setScaleType(ScaleType.FIT_CENTER); 

Cela adaptera votre image à l’écran avec le bon rapport.