我有一个适配器,用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);
}
在我的活动中:
@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"/>
由于
答案 0 :(得分:2)
您需要更改布局文件以指定缩放类型。
添加
android:scaleType="centerCrop"
到您的布局XML文件,然后当设备旋转时,ImageView将自动缩放图像。您无需使用Picasso手动重新加载ImageView。