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。
我有一个适配器,它使用 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。