毕加索在调整图像大小时不会保留纵横比

Jac*_*ner 12 android android-layout picasso android-relativelayout

我想保留imageView的纵横比,并调整它以尽可能大地填充/调整,而不会使用Picasso扭曲/改变它的纵横比.

到目前为止,我发现了这个:

在毕加索缩放图像大小

建议使用:

.fit().centerInside() 
Run Code Online (Sandbox Code Playgroud)

但是当我尝试时:

        Picasso.with(this).load(boxart)
.fit().centerInside() 
        .into(imageItem);
Run Code Online (Sandbox Code Playgroud)

和我的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>
Run Code Online (Sandbox Code Playgroud)

然而,图像仍然显得扭曲(它看起来太长而且很瘦 - 它的原始宽高比是扭曲的)我不确定为什么.

在此输入图像描述

prG*_*rGD 10

下面的Сode应该工作:

.fit().centerCrop() 
Run Code Online (Sandbox Code Playgroud)

  • 或.fit().centerInside()用于宽高比适合. (3认同)