如果我将RoundedBitmapDisplayer()应用于Universal Image Loader,则图像会消失

时间:2014-03-27 01:44:49

标签: android imageview universal-image-loader

我使用Universal Image Loader加载一些图像,我想使用RoundedBitmapDisplayer功能。不使用它,图像加载完美,但如果我添加:

options = new DisplayImageOptions.Builder()
        .showStubImage(R.drawable.stub_image)
        .showImageForEmptyUri(R.drawable.image_for_empty_url)
        .cacheInMemory()
        .cacheOnDisc()
        .displayer(new RoundedBitmapDisplayer(20))     //this makes the issue
        .build();

整个图像消失,根本没有显示。即使值为1,也会发生同样的情况。如果我省略该行,则表明没问题。我也想问一下这是否是使用imageloader的正确方法和顺序,所以伪代码有问题,也许更有助于回答我的主要问题:

public class MyRoom{
...
DisplayImageOptions options;
ImageLoader imageLoader = ImageLoader.getInstance();
ImageLoaderConfiguration config;
...

@Override
protected void onCreate(Bundle savedInstanceState) {
...
config = new ImageLoaderConfiguration.Builder(getApplicationContext())
         .build();
options = new DisplayImageOptions.Builder()
            .showStubImage(R.drawable.stub_image)
            .showImageForEmptyUri(R.drawable.image_for_empty_url)
            .cacheInMemory()
            .cacheOnDisc()
            .displayer(new RoundedBitmapDisplayer(20))     //this makes the issue
            .build();
...
}


class RoomItemAdapter extends BaseAdapter {
...
public View getView(final int position, View convertView, ViewGroup parent) {
...
imageLoader = ImageLoader.getInstance();
imageLoader.init(config);
imageLoader.displayImage(Comment_img.get(position), viewHolder.img, options);
...
}
...
}

}

1 个答案:

答案 0 :(得分:4)

将ImageView的layout_width和layout_height分配给特定值:

<ImageView 
    android:id="@+id/image"
    android:layout_width="50dip"
    android:layout_height="50dip"
    android:contentDescription="@null"/>