首先,我不确定我写的代码哪里做错了。
正如您在屏幕截图中看到的那样,有 3 种不同的设备。注意红色框内的图像。Xperia Z Ultra 屏幕中的图像已被裁剪,但其余部分还可以:
三星 Galaxy SII(果冻豆)
Nexus 7(奇巧)
Xperia Z Ultra(奇巧)
我将图像放在 ListView 中,然后在适配器内膨胀。这是自定义行的布局代码:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/img_item"
android:src="@drawable/error"
android:adjustViewBounds="true"
android:scaleType="centerCrop" />
</RelativeLayout>
在适配器中,我使用 Picasso 图像加载器来加载图像。我没有设置任何图像缩放选项。
public class ItemPhotoAdapter extends BaseAdapter {
...
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
...
Picasso.with(context) //
.load(iim.getResized()) //
.placeholder(R.drawable.placeholder) //
.error(R.drawable.error)
.into(vh.item_image);
return view;
}
}
有人知道这里发生了什么吗?