Ich möchte das Seitenverhältnis einer Bildansicht beibehalten und die Größe so anpassen, dass sie so groß wie möglich ist, ohne dass das Seitenverhältnis mit Picasso verzerrt/geändert wird.Picasso behält das Seitenverhältnis bei der Größenänderung nicht bei
Bisher habe ich das gefunden:
, die unter Verwendung schlägt vor:
.fit().centerInside()
aber wenn ich es versucht:
Picasso.with(this).load(boxart)
.fit().centerInside()
.into(imageItem);
Zusammen mit meiner XML:
...
<RelativeLayout
android:id="@+id/rl_ListView1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_centerInParent="true"
android:layout_gravity="left"
android:layout_weight="0.3" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:scaleType="fitXY"
android:layout_gravity="left"
/>
</RelativeLayout>
...
Allerdings erscheint das Bild immer noch verzerrt (es erscheint zu lang und dünn - es ist das ursprüngliche Seitenverhältnis verzerrt) und ich bin mir nicht sicher warum.
Die [Javadoc für 'fit()'] (https://square.github.io/picasso/javadoc/com/squareup/picasso/RequestCreator.html#fit--) sagt, dass es " verkleinere das Bild so, dass es genau in das Ziel-ImageView passt ", dh ignoriere das Seitenverhältnis. –
Ja, aber 'centerInside()' sollte das korrigieren, d. e. Passe das Bild so an, dass es in das "ImageView" passt, während das Seitenverhältnis beibehalten wird. Ich vermute, dass das 'android: scaleType: fitXY' das Problem ist. –
Das war eigentlich sehr hilfreich ... das Bild ist nicht mehr verzerrt und behält sein Seitenverhältnis bei - es passt sich jedoch nicht richtig an (es gibt Leerzeichen um es herum) http://i.stack.imgur.com/ ZpCZ3.jpg http://pastebin.com/UXbuU3vv –