Android 毕加索对方向的处理已更改

Android Picasso handling on orientation changed

我有一个适配器,它使用 Picasso 将图像加载到 ImageView,直到这里一切正常。 问题是我自己处理方向变化:

android:configChanges="orientation|keyboardHidden|screenSize"

我无法让 Picasso 在方向改变后重新加载图像并使其正确适合 imageView。

if (imageUrlString == null) {
        Picasso.with(context).load(R.drawable.image_adega).fit().centerCrop()
                .into(headerHolder.img_store);

    } else {

        Picasso.with(context).load(imageUrlString).fit().into(headerHolder.img_store);
    }

在我的 activity 中:

@Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        if (adapter != null) {
            adapter.reloadPicasso(getActivity());
        }
    }

XML:

 <ImageView
    android:id="@+id/img_store"
    android:layout_width="match_parent"
    android:layout_height="250dp"
    android:layout_centerHorizontal="true"
    android:adjustViewBounds="false"/>

谢谢

您需要更改布局文件以指定缩放类型。

添加

android:scaleType="centerCrop" 

到您的布局 XML 文件,然后当设备旋转时,ImageView 将自动缩放图像。您无需使用 Picasso 手动重新加载 ImageView。