我使用Picasso
库从服务加载图片。它的工作正常。但是当scroll
图像向下并且我向上滚动时,图像使用recyclerview
以及swiperefresh
布局进行拉伸。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="3dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/bg_image_layout"
android:layout_width="match_parent"
android:layout_height="175dp"
android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/bg_image"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:src="@mipmap/ic_launcher" />
</LinearLayout>
<ImageView
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_gravity="center"
android:id="@+id/img_logo"
android:src="@drawable/logo"
android:layout_below="@id/bg_image_layout"/>
</RelativeLayout>
</android.support.v7.widget.CardView>
在我的适配器类中:
Picasso.with(context)
.load(items.get(position).getBgImage())
.placeholder(R.mipmap.ic_launcher)
.fit()
.centerCrop()
.into(shopViewHolder.bgImage);
任何人都可以帮助我吗?我在这里做错了..
答案 0 :(得分:1)
您使用了.fit()
。这将使图像适合您的shopViewHolder.bgImage
(必要时拉伸)。您始终可以使用.resize(width, height)
确保图片保持一定的大小。然后,您可以使用.centerCrop()
和.centerInside()
来控制处理重叠的方式。
如果您希望获得不同类型的结果,则需要使用其他方法。