我有一个垂直的LinearLayout,其中一个项目是ImageView使用Picasso加载的.我需要将图像的宽度提升到整个设备宽度,并显示图像的中心部分被固定高度(150dp)裁剪.我目前有以下代码:
Picasso.with(getActivity())
.load(imageUrl)
.placeholder(R.drawable.placeholder)
.error(R.drawable.error)
.resize(screenWidth, imageHeight)
.centerInside()
.into(imageView);
Run Code Online (Sandbox Code Playgroud)
我应该把哪个值成screenWidth和imageHeight(= 150dp)?
我想保留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)
然而,图像仍然显得扭曲(它看起来太长而且很瘦 - 它的原始宽高比是扭曲的)我不确定为什么.
