我使用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);
...
}
...
}
}
答案 0 :(得分:4)
将ImageView的layout_width和layout_height分配给特定值:
<ImageView
android:id="@+id/image"
android:layout_width="50dip"
android:layout_height="50dip"
android:contentDescription="@null"/>