1. 程式人生 > >Imageloader的配置及顯示(自定義路徑)

Imageloader的配置及顯示(自定義路徑)

public static void init(Context context) {
    //在SD卡中建立一個目錄
File file = new File(Environment.getExternalStorageDirectory(), "image");
    if(!file.exists()){
        file.mkdirs();
    }
    File cacheDir = StorageUtils.getCacheDirectory(context);  //快取資料夾路徑
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)

            .threadPoolSize(3
) // default 執行緒池內載入的數量 .threadPriority(Thread.NORM_PRIORITY - 2) // default 設定當前執行緒的優先順序 .tasksProcessingOrder(QueueProcessingType.FIFO) // default .denyCacheImageMultipleSizesInMemory() .memoryCache(new LruMemoryCache(2 * 1024 * 1024)) //可以通過自己的記憶體快取實現 .memoryCacheSize(2 * 1024 * 1024) // 記憶體快取的最大值
.memoryCacheSizePercentage(13) // default .diskCache(new UnlimitedDiskCache(file)) // default 可以自定義快取路徑 .diskCacheSize(50 * 1024 * 1024) // 50 Mb sd卡(本地)快取的最大值 .diskCacheFileCount(100) // 可以快取的檔案數量 // default為使用HASHCODE對UIL進行加密命名, 還可以用MD5(new Md5FileNameGenerator())加密 .diskCacheFileNameGenerator(new HashCodeFileNameGenerator()) .imageDownloader(new
BaseImageDownloader(context)) // default .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default .writeDebugLogs() // 列印debug log .build(); //開始構建 ImageLoader.getInstance().init(config); } //常規顯示  public static DisplayImageOptions getDefaultOption(){ DisplayImageOptions options = new DisplayImageOptions.Builder() .showImageOnLoading(R.mipmap.ic_launcher) // 設定圖片下載期間顯示的圖片 .showImageForEmptyUri(R.mipmap.ic_launcher) // 設定圖片Uri為空或是錯誤的時候顯示的圖片 .showImageOnFail(R.mipmap.ic_launcher) // 設定圖片載入或解碼過程中發生錯誤顯示的圖片 .resetViewBeforeLoading(false) // default 設定圖片在載入前是否重置、復位 .delayBeforeLoading(1000) // 下載前的延遲時間 .cacheInMemory(true) // default 設定下載的圖片是否快取在記憶體中 .cacheOnDisk(true) // default 設定下載的圖片是否快取在SD卡中 .imageScaleType(ImageScaleType.EXACTLY_STRETCHED) // default 設定圖片以如何的編碼方式顯示 .bitmapConfig(Bitmap.Config.RGB_565) // default 設定圖片的解碼型別 //.decodingOptions(...) // 圖片的解碼設定 .displayer(new SimpleBitmapDisplayer()) // default 還可以設定圓角圖片new RoundedBitmapDisplayer(20) .build(); return options; } //圓形顯示 public static DisplayImageOptions getCircleOption(){ DisplayImageOptions options = new DisplayImageOptions.Builder() .showImageOnLoading(R.mipmap.ic_launcher) // 設定圖片下載期間顯示的圖片 .showImageForEmptyUri(R.mipmap.ic_launcher) // 設定圖片Uri為空或是錯誤的時候顯示的圖片 .showImageOnFail(R.mipmap.ic_launcher) // 設定圖片載入或解碼過程中發生錯誤顯示的圖片 .resetViewBeforeLoading(false) // default 設定圖片在載入前是否重置、復位 .delayBeforeLoading(1000) // 下載前的延遲時間 .cacheInMemory(true) // default 設定下載的圖片是否快取在記憶體中 .cacheOnDisk(true) // default 設定下載的圖片是否快取在SD卡中 .imageScaleType(ImageScaleType.EXACTLY_STRETCHED) // default 設定圖片以如何的編碼方式顯示 .bitmapConfig(Bitmap.Config.RGB_565) // default 設定圖片的解碼型別 //.decodingOptions(...) // 圖片的解碼設定 .displayer(new CircleBitmapDisplayer()) // default 還可以設定圓角圖片new RoundedBitmapDisplayer(20) .build(); return options; } //圓角顯示  public static DisplayImageOptions getRoundedOption(){ DisplayImageOptions options = new DisplayImageOptions.Builder() .showImageOnLoading(R.mipmap.ic_launcher) // 設定圖片下載期間顯示的圖片 .showImageForEmptyUri(R.mipmap.ic_launcher) // 設定圖片Uri為空或是錯誤的時候顯示的圖片 .showImageOnFail(R.mipmap.ic_launcher) // 設定圖片載入或解碼過程中發生錯誤顯示的圖片 .resetViewBeforeLoading(false) // default 設定圖片在載入前是否重置、復位 .delayBeforeLoading(1000) // 下載前的延遲時間 .cacheInMemory(true) // default 設定下載的圖片是否快取在記憶體中 .cacheOnDisk(true) // default 設定下載的圖片是否快取在SD卡中 .imageScaleType(ImageScaleType.EXACTLY_STRETCHED) // default 設定圖片以如何的編碼方式顯示 .bitmapConfig(Bitmap.Config.RGB_565) // default 設定圖片的解碼型別 //.decodingOptions(...) // 圖片的解碼設定 .displayer(new RoundedBitmapDisplayer(20)) // default 還可以設定圓角圖片new RoundedBitmapDisplayer(20) .build(); return options; } 在介面卡中呼叫方法
常規:ImageLoader.getInstance().displayImage(newslist.get(position).getPicUrl(),vh.img,ImageHolder.getDefaultOption());
圓形:ImageLoader.getInstance().displayImage(newslist.get(position).getPicUrl(),vh.img,ImageHolder.getCircleOption());
圓角:ImageLoader.getInstance().displayImage(newslist.get(position).getPicUrl(),vh.img,ImageHolder.getRoundedOption());