J'ai un imageview
qui a sa hauteur et sa largeur définies fill_parent
avec un linearlayout
qui a les mêmes valeurs définies. Je suppose donc que cela devrait adapter mes images à 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?
Réponses:
pour changer de manière programmée, utilisez:
OU
pour changer d'utilisation de xml:
la source
v.setAdjustViewBounds(true); v.setScaleType(ImageView.ScaleType.CENTER_CROP);
Donnez dans le fichier xml de votre mise en page
android:scaleType="fitXY"
PS: cela s'applique au moment où l'image est définie avec
android:src="..."
plutôt queandroid:background="..."
lorsque les arrière-plans sont définis par défaut pour s'étirer et s'adapter à la vue.la source
utilisez ceci:
la source
android:scaleType="fitXY"
ce qui a fonctionné. MercifitXY
est que l'image est étirée proportionnellement pour s'adapter au cadre / à la vue dans laquelle elle a été définie. Utiliser desFIT_CENTER
sons similaires à celui-ci ne fera que placer l'image au centre de la vue mais ne remplit pas la vue. Je me trompe peut-être, mais vous pouvez expérimenter l'un ou l'autre pour savoir ce qui fonctionnesi tu utilises
android:scaleType="fitXY"
vous devez spécifierandroid:layout_width="75dp"
etandroid:layout_height="75dp"
si vous utilisez wrap_content, cela ne correspondra pas à ce dont vous avez besoin
la source
La réponse acceptée est parfaite, mais si vous souhaitez le faire à partir de xml, vous pouvez utiliser
android:scaleType="fitXY"
la source
J'ai utilisé ce
android:scaleType="fitXY"
code dans un fichier Xml.la source
changez simplement la hauteur et la largeur de votre ImageView en wrap_content et utilisez
exampleImage.setScaleType (ImageView.ScaleType.FIT_XY);
dans votre code.
la source
Essayer d'utiliser:
Cela adaptera votre image à l'écran avec le bon rapport.
la source
imageview.setFitToScreen(true)
setFitsSystemWindows()
??