我有一个宽度为: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的比率。
谢谢,
答案 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;
请参阅此链接中的说明