Ich habe eine imageview
, deren Höhe und Breite auf fill_parent
eine eingestellt ist linearlayout
, bei der die gleichen Werte eingestellt sind. Ich nehme an, dies sollte meine Bilder so einstellen, dass sie zum Bildschirm passen. Aber es passt nur zu 80% (Rand oben und unten im Querformat).
Ich habe den folgenden Code ohne Erfolg ausprobiert:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
imgView.setMinimumWidth(width);
imgView.setMinimumHeight(height);
imgView.setMaxWidth(width);
imgView.setMaxHeight(height);
Irgendwelche anderen Ideen?
Antworten:
um programmatisch zu ändern verwenden:
ODER
Um von XML zu wechseln, verwenden Sie:
quelle
v.setAdjustViewBounds(true); v.setScaleType(ImageView.ScaleType.CENTER_CROP);
Geben Sie in der XML-Datei Ihres Layouts
android:scaleType="fitXY"
PS ein: Dies gilt, wenn das Bild mit eingestellt ist
android:src="..."
und nichtandroid:background="..."
als Hintergrund, der standardmäßig so eingestellt ist, dass er gedehnt und an die Ansicht angepasst wird.quelle
benutze das:
quelle
android:scaleType="fitXY"
hat funktioniert. DankefitXY
ist, dass das Bild proportional gedehnt wird, um zu dem Rahmen / der Ansicht zu passen, in dem es eingestellt wurde. Wenn SieFIT_CENTER
Sounds verwenden, wird das Bild einfach platziert in der Mitte der Ansicht, füllt die Ansicht jedoch nicht aus. Ich kann mich irren, aber Sie können mit beiden experimentieren, um herauszufinden, was funktioniertWenn Sie verwenden
android:scaleType="fitXY"
, müssen Sie angebenandroid:layout_width="75dp"
undandroid:layout_height="75dp"
Wenn Sie wrap_content verwenden, wird es nicht auf das ausgedehnt, was Sie benötigen
quelle
Die akzeptierte Antwort ist perfekt. Wenn Sie sie jedoch über XML ausführen möchten, können Sie sie verwenden
android:scaleType="fitXY"
quelle
Ich habe diesen
android:scaleType="fitXY"
Code in der XML-Datei verwendet.quelle
Ändern Sie einfach Ihre ImageView-Höhe und -Breite in wrap_content und verwenden Sie sie
exampleImage.setScaleType (ImageView.ScaleType.FIT_XY);
in Ihrem Code.
quelle
Versuch mit:
Dadurch wird Ihre Bildansicht mit dem richtigen Verhältnis auf den Bildschirm angepasst.
quelle
imageview.setFitToScreen(true)
setFitsSystemWindows()
?