Universal Image Loader仅在滚动时舍入图像

时间:2013-10-03 14:32:11

标签: android android-listview rounded-corners universal-image-loader

我在ListView中使用通用图像加载器,它第一次完美运行,但其余时间,图像没有圆角。只有滚动图像时才会再次出现圆形边框。

这是我的代码:

ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
            context).threadPriority(Thread.NORM_PRIORITY - 2)
            .denyCacheImageMultipleSizesInMemory()
            .discCacheFileNameGenerator(new Md5FileNameGenerator())
            .tasksProcessingOrder(QueueProcessingType.LIFO).enableLogging() 
            .build();
    // Initialize ImageLoader with configuration.
    ImageLoader.getInstance().init(config);


DisplayImageOptions options = new DisplayImageOptions.Builder()
    .displayer(new RoundedBitmapDisplayer(50))
    .showStubImage(R.drawable.ic_app)
    .showImageForEmptyUri(R.drawable.camera)
    .showImageOnFail(R.drawable.ic_error).cacheInMemory().cacheOnDisc()
    .build();


public View getView(int position, View convertView, ViewGroup parent) {
    if (convertView == null) {
        convertView = LayoutInflater.from(getContext()).inflate(R.layout.listmessages_row, null);
    }//End if


    ImageView avatar = (ImageView) convertView.findViewById(R.id.ImageView_MessageRow);
    ImageView avatarEmpty = (ImageView) convertView.findViewById(R.id.ImageView_PhotoProfileEmpty);
    final int positionAux = position; 

    if (listItems.get(position).avatar.equals("no_avatar")){
        avatarEmpty.setVisibility(View.VISIBLE);
        avatar.setVisibility(View.GONE);
    }else{
        avatarEmpty.setVisibility(View.GONE);
        avatar.setVisibility(View.VISIBLE);
        imageLoader.displayImage(IMAGES + listItems.get(position).avatar, avatar, options);
    }//End if-else

    return convertView;
}//End getView

1 个答案:

答案 0 :(得分:14)

我回答myserlf,我修改了displayImageOtions的选项,它一直都很完美。我只删除了这一行:cacheInMemory()

现在我的显示图像选项是:

options = new DisplayImageOptions.Builder()
        .displayer(new RoundedBitmapDisplayer(50))
        .showStubImage(R.drawable.ic_app)
        .showImageForEmptyUri(R.drawable.camera)
        .showImageOnFail(R.drawable.ic_error)
        .cacheOnDisc()
        .build();