7

我有一个宽度:match_parent 和高度:wrap_content 的 imageView。我想要全宽的图像并保持高度的比例。

我按照这个链接(https://github.com/nostra13/Android-Universal-Image-Loader/pull/62)说要在我的imageView上设置adjustviewbounds和center_crop并将imageScaleType设置为ImageScaleType.EXACTLY_STRETCHED。

所以我这样做:

DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
            .cacheInMemory()
            .cacheOnDisc()
            .showImageForEmptyUri(R.drawable.cache_waiting)
            .showImageOnFail(R.drawable.cache_waiting)
            .showStubImage(R.drawable.cache_waiting)
            .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
            .build();

            setAdjustViewBounds(true);
            setScaleType(ScaleType.CENTER_CROP);
            ImageLoader.getInstance().displayImage(img.getUrl(), this,defaultOptions);

使用此代码,大部分 ImageView 都是白色的。logcat 告诉我位图太大(2560,1120)。如何使用 UIL 保持图像的比例。

谢谢,

4

2 回答 2

2

我也和你一样配置。但 ImageView 应该:

<ImageView
    android:id="@+id/thumb_item"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:scaleType="fitCenter" />
于 2014-12-26T03:56:18.120 回答
0

在 ImageView 中设置 android:scaleType="centerInside" 并查看结果如果它不工作然后设置 android:scaleType="centerCrop"

请参阅此链接中的说明

https://github.com/nostra13/Android-Universal-Image-Loader/blob/master/library/src/com/nostra13/universalimageloader/core/assist/ViewScaleType.java

于 2014-03-30T15:31:35.043 回答