通用图像加载器保持比率

时间:2013-06-03 15:20:29

标签: android universal-image-loader

我有一个宽度为:match_parent和height: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的比率。

谢谢,

2 个答案:

答案 0 :(得分:2)

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

<ImageView
    android:id="@+id/thumb_item"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:scaleType="fitCenter" />

答案 1 :(得分:0)

在ImageView中设置android:scaleType =&#34; centerInside&#34;并看到结果 如果它不起作用,那么设置android:scaleType =&#34; centerCrop&#34;

请参阅此链接中的说明

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