universal-Image-Loader

使用ImageLoader 首先在Application啓動裏面配置(也可以局部配置)

//注意點:必須在配置文件<application>裏面配置name ;還有加權限 Internet(連網權限)  WRITE_EXTERNAL_STORAGE(可寫的外部存儲) 緩存本地


DisplayImageOptions options=new DisplayImageOptions.Builder()

.showImageOnLoading();//加載時候圖片

.showImageForEmptyUri();//uri爲空的或錯誤信息

.showImageOnFail();//圖片加載 解碼過程錯誤的圖片 沒網的時候~

.delayBeforeLoading(下載前延遲(int))

.resetViewBeforeLoading(true)//設置圖片在下載前是否重置,復位

.displayer( new RoundedBitmapDisplayer(360) )//圓角圖***

.cacheOnDisk(true)//緩存在外存(本地文件)

.cacheInMemory(true)//緩存在內存

.considerExifParams(true)//啓用EXIF和JPEG圖片格式(旋轉,翻轉)

.build();


ImageLoaderConfiguration config=new ImageLoaderConfiguration.Builder()

.defaultDisplayImageOptions(options)//同步 把options設置給config

.threadPoolSize(3)//線程數量

.diskCache( new UnlimitedDiskCache("路徑") )//自定義本地路徑*****(getCacheDir())

.threadPriority(Thread.NORM_PRIORITY-2)//線程池優先級

.diskCacheFileNameGenerator(new Md5FileNameGenerator())//磁盤緩存的,圖片名稱進行md5加密

.discCacheFileCount(100) //緩存的文件數量

.discCacheSize(50 * 1024 * 1024)
.memoryCacheExtraOptions(480, 800) // max width, max height,即保存的每個緩存文件的最大長寬

.build();


//最後初始化imageLoader

ImageLoader.getInstance().init(config);

//完成配置


//開始使用

ImageLoader.getInstance().displayImage(url,ImageView);

ImageLoader.getInstance().displayImage(url,ImageView new ImageLoadingListener(){});//回調方法


如果你覺得傳入ImageLoaderListener太複雜了,我們可以使用SimpleImageLoadingListener類,該類提供了ImageLoaderListener接口方法的空實現,使用的是缺省適配器模式

  1.   String imageUrl = "https://lh6.googleusercontent.com/-55osAWw3x0Q/URquUtcFr5I/AAAAAAAAAbs/rWlj1RUKrYI/s1024/A%252520Photographer.jpg";  
  2.           
  3.         ImageLoader.getInstance().loadImage(imageUrl, new SimpleImageLoadingListener(){  
  4.   
  5.             @Override  
  6.             public void onLoadingComplete(String imageUri, View view,  
  7.                     Bitmap loadedImage) {  
  8.                 super.onLoadingComplete(imageUri, view, loadedImage);  
  9.                 mImageView.setImageBitmap(loadedImage);  
  10.             }  
  11.               
  12.         });
如果我們要指定圖片的大小該怎麼辦呢,這也好辦,初始化一個ImageSize對象,指定圖片的寬和高

  1.  String imageUrl = "https://lh6.googleusercontent.com/-55osAWw3x0Q/URquUtcFr5I/AAAAAAAAAbs/rWlj1RUKrYI/s1024/A%252520Photographer.jpg";  
  2.           
  3.         ImageSize mImageSize = new ImageSize(100100);  //****** size
  4.           
  5.         ImageLoader.getInstance().loadImage(imageUrl, mImageSize, new SimpleImageLoadingListener(){  
  6.   
  7.             @Override  
  8.             public void onLoadingComplete(String imageUri, View view,  
  9.                     Bitmap loadedImage) {  
  10.                 super.onLoadingComplete(imageUri, view, loadedImage);  
  11.                 mImageView.setImageBitmap(loadedImage);  
  12.             }  
  13.               
  14.         }); 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章