Android-Universal-Image-Loader 屬性設定
阿新 • • 發佈:2019-02-10
設定Android-Universal-Image-Loader快取圖片的目錄
其預設的快取目錄是mnt/sdcard/Android/data/your project/下,因為沒有提供介面,所以想修改只能改其原始碼。
1.到https://github.com/nostra13/Android-Universal-Image-Loader把原始碼拿下來
2.匯入library專案,修改com.nostra13.universalimageloader.utils.StorageUtils這個類,getExternalCacheDir(Context context)這個方法返回的就是快取圖片目錄,getCacheDirectory(Context context)是真正返回快取目錄的方法,
3.重新打成jar包使用或直接將程式碼拷到你的專案
1.此類的功能:
1 //設定圖片在下載期間顯示的圖片 2 showStubImage(R.drawable.ic_launcher) 3 4 //設定圖片Uri為空或是錯誤的時候顯示的圖片 5 showImageForEmptyUri(R.drawable.ic_empty) 6 7 //設定圖片載入/解碼過程中錯誤時候顯示的圖片 8 showImageOnFail(R.drawable.ic_error) 9 10 //設定圖片在下載前是否重置,復位 11 resetViewBeforeLoading() 12 13 //設定下載的圖片是否快取在記憶體中 14 cacheInMemory() 15 16 //設定下載的圖片是否快取在SD卡中 17 cacheOnDisc() 18 19 //設定圖片的解碼型別 20 bitmapConfig(Bitmap.Config.RGB_565) 21 22 //設定圖片的解碼配置 23 decodingOptions(android.graphics.BitmapFactory.Options decodingOptions)24 25 //設定圖片下載前的延遲 26 delayBeforeLoading(int delayInMillis) 27 28 //設定額外的內容給ImageDownloader 29 extraForDownloader(Object extra) 30 31 //設定圖片加入快取前,對bitmap進行設定 32 preProcessor(BitmapProcessor preProcessor) 33 34 //設定顯示前的圖片,顯示後這個圖片一直保留在快取中 35 postProcessor(BitmapProcessor postProcessor) 36 37 //設定圖片以如何的編碼方式顯示 38 imageScaleType(ImageScaleType imageScaleType)
2.此類的兩種建立方式:
/** * DisplayImageOptions 建立的兩種方式。 */ // 建立預設的DisplayImageOptions DisplayImageOptions option_0 = DisplayImageOptions.createSimple(); // 使用DisplayImageOptions.Builder()建立DisplayImageOptions DisplayImageOptions option_1 = new DisplayImageOptions.Builder() .showStubImage(R.drawable.ic_launcher) .showImageOnFail(R.drawable.ic_error) .showImageForEmptyUri(R.drawable.ic_empty).cacheInMemory() .cacheOnDisc().displayer(new RoundedBitmapDisplayer(20)) .build();
3.類中的方法使用:
/** * 設定圖片的顯示方式 * @param displayer */ displayer(BitmapDisplayer displayer) displayer: RoundedBitmapDisplayer(int roundPixels)設定圓角圖片 FakeBitmapDisplayer()這個類什麼都沒做 FadeInBitmapDisplayer(int durationMillis)設定圖片漸顯的時間 SimpleBitmapDisplayer()正常顯示一張圖片
/** * 圖片的縮放方式 * @param imageScaleType */
imageScaleType(ImageScaleType imageScaleType)
imageScaleType:
EXACTLY :影象將完全按比例縮小的目標大小
EXACTLY_STRETCHED:圖片會縮放到目標大小完全
IN_SAMPLE_INT:影象將被二次取樣的整數倍
IN_SAMPLE_POWER_OF_2:圖片將降低2倍,直到下一減少步驟,使影象更小的目標大小
NONE:圖片不會調整