Android UIL仅使用缓存的图像

时间:2014-11-04 14:55:58

标签: android caching local offline universal-image-loader

如何将android UniversalImageLoader设置为仅显示预加载(无新下载)图像。

final ImageLoaderConfiguration ilc = new ImageLoaderConfiguration.Builder(context).build();
final DisplayImageOptions.Builder dioBuilder = new DisplayImageOptions.Builder()//
    .resetViewBeforeLoading(true) //
    .delayBeforeLoading(0)//
    .cacheInMemory(true) //
    .cacheOnDisk(true) //
    .imageScaleType(ImageScaleType.EXACTLY) //
    .bitmapConfig(Bitmap.Config.ARGB_8888) //
    .displayer(new SimpleBitmapDisplayer()) //
    .showImageOnLoading(R.drawable.loading) //
    .showImageForEmptyUri(R.drawable.error) //
    .showImageOnFail(R.drawable.error) //
    .handler(new Handler());
final DisplayImageOptions dio = dioBuilder.build();
final DisplayImageOptions dioLocal = dioBuilder//
    /*maybe something here*/
.build();

2 个答案:

答案 0 :(得分:1)

ImageLoader.getInstance().denyNetworkDownloads(true)

如果您想再次允许从网络加载图片,请致电denyNetworkDownloads(false)

答案 1 :(得分:0)

通过使用此answer's解决方案,我将代码更改为:

OnlineImageLoader = new ImageLoader() {
    {
        init(imageLoaderConfiguration);
        denyNetworkDownloads(false);
        handleSlowNetwork(true);
    }
};
OfflineImageLoader = new ImageLoader() {
    {
        init(imageLoaderConfiguration);
        denyNetworkDownloads(true);
    }
};

当我想使用强制本地作品时,我使用OfflineImageLoader其他OnlineImageLoader