基本上排球提供兩種方法來請求圖像
實施例:
ImageRequest imgRequest = new ImageRequest(<URL>, new Response.Listener<Bitmap>() {
@Override
public void onResponse(Bitmap response) {
mImageView.setImageBitmap(response);
}
}, 0, 0, Bitmap.Config.ARGB_8888, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
mImageView.setImageResource(R.drawable.error);
}
});
mVolleyQueue.add(imgRequest);
ImageDownloader
//正開始ImageDownloader
int max_cache_size = 1000000;
mImageLoader = new ImageLoader(mVolleyQueue, new DiskBitmapCache(getCacheDir(),max_cache_size));
(或) 的MemoryCache總是比快DiskCache。自己檢查一下。 mImageLoader = new ImageLoader(mVolleyQueue,new BitmapCache(max_cache_size));
mImageLoader.get(<URL>,
ImageLoader.getImageListener(mImageView,
R.drawable.flickr,
android.R.drawable.ic_dialog_alert),
//You can optional specify width & height of the bitmap to be scaled down when the image is downloaded.
50,50);
NetworkImageView
mNetworkImageView.setImageUrl(testUrlToDownloadImage1, mImageLoader);
如果你想要更多的控制和選項,您可以嘗試UniversalImagerLoader
查看更多在這裏:https://github.com/nostra13/Android-Universal-Image-Loader
配置
「配置」構建器中的所有選項都是可選的。只使用你真正想要自定義的人。 查看每個選項的Java文檔中config選項的默認值。
// DON'T COPY THIS CODE TO YOUR PROJECT! This is just example of ALL options using.
// See the sample project how to use ImageLoader correctly.
File cacheDir = StorageUtils.getCacheDirectory(context);
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
.memoryCacheExtraOptions(480, 800) // default = device screen dimensions
.diskCacheExtraOptions(480, 800, null)
.taskExecutor(...)
.taskExecutorForCachedImages(...)
.threadPoolSize(3) // default
.threadPriority(Thread.NORM_PRIORITY - 1) // default
.tasksProcessingOrder(QueueProcessingType.FIFO) // default
.denyCacheImageMultipleSizesInMemory()
.memoryCache(new LruMemoryCache(2 * 1024 * 1024))
.memoryCacheSize(2 * 1024 * 1024)
.memoryCacheSizePercentage(13) // default
.diskCache(new UnlimitedDiscCache(cacheDir)) // default
.diskCacheSize(50 * 1024 * 1024)
.diskCacheFileCount(100)
.diskCacheFileNameGenerator(new HashCodeFileNameGenerator()) // default
.imageDownloader(new BaseImageDownloader(context)) // default
.imageDecoder(new BaseImageDecoder()) // default
.defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default
.writeDebugLogs()
.build();
顯示選項
顯示選項可以應用到每一個顯示任務(ImageLoader.displayImage(...)調用)。
注意:如果顯示選項未傳遞給ImageLoader.displayImage(...)方法,則將使用默認的配置顯示選項(ImageLoaderConfiguration.defaultDisplayImageOptions(...))。
// DON'T COPY THIS CODE TO YOUR PROJECT! This is just example of ALL options using.
// See the sample project how to use ImageLoader correctly.
DisplayImageOptions options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.ic_stub) // resource or drawable
.showImageForEmptyUri(R.drawable.ic_empty) // resource or drawable
.showImageOnFail(R.drawable.ic_error) // resource or drawable
.resetViewBeforeLoading(false) // default
.delayBeforeLoading(1000)
.cacheInMemory(false) // default
.cacheOnDisk(false) // default
.preProcessor(...)
.postProcessor(...)
.extraForDownloader(...)
.considerExifParams(false) // default
.imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) // default
.bitmapConfig(Bitmap.Config.ARGB_8888) // default
.decodingOptions(...)
.displayer(new SimpleBitmapDisplayer()) // default
.handler(new Handler()) // default
.build();
您可以順利地在您的項目中使用它們。