图像使用毕加索拉伸

时间:2016-12-19 11:44:41

标签: android picasso

我使用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);

任何人都可以帮助我吗?我在这里做错了..

1 个答案:

答案 0 :(得分:1)

您使用了.fit()。这将使图像适合您的shopViewHolder.bgImage(必要时拉伸)。您始终可以使用.resize(width, height)确保图片保持一定的大小。然后,您可以使用.centerCrop().centerInside()来控制处理重叠的方式。

如果您希望获得不同类型的结果,则需要使用其他方法。