2013-06-03 24 views
7

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

我跟着这个链接(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

在上面的代码中,ImageView是在什么地方? – NOSTRA

+0

我把这段代码放在ImageView中的构建方法中。例如,在创建此片段的过程中,该片段将调用此构建方法。 – FUBUs

+0

我觉得'CENTER_CROP'对你来说不是正确的比例类型。使用默认缩放类型,然后可能会阻止“太大的位图”问题。 – NOSTRA

回答

2

我也配置为你。但ImageView应该:

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