ImageLoader加载图片
jar包universal-image-loader-1.9.5.jar
配置
----android.permission.WRITE_EXTERNAL_STORAGE
<application
android:name="fragment.MyApplication"
</application>
//创建一个类extends Application--相当于厨房
package fragment;
import android.app.Application;
import android.util.Log;
import com.nostra13.universalimageloader.cache.memory.impl.UsingFreqLimitedMemoryCache;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// 缓存的一个选项
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
.cacheInMemory(true).cacheOnDisk(true).build();
// 厨房
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
getApplicationContext())
// 配置是否缓存
.defaultDisplayImageOptions(defaultOptions)
.diskCacheSize(50 * 1024 * 1024)
.memoryCache(new UsingFreqLimitedMemoryCache(5 * 1024 * 1024))
.build();
ImageLoader.getInstance().init(config);
}
}
//创建一个类 相当于厨师长
class Myoptions {
// 设置图片在下载期间显示的图片
.showImageOnLoading(R.drawable.ic_launcher)
// 设置图片Uri为空或是错误的时候显示的图片
.showImageForEmptyUri(R.drawable.ic_launcher)
// 设置图片加载/解码过程中错误时候显示的图片
.showImageOnFail(R.drawable.ic_launcher)
// 设置下载的图片是否缓存在内存中
.cacheInMemory(false)
// 设置下载的图片是否缓存在SD卡中
.cacheOnDisc(true)
// 保留Exif信息
.considerExifParams(true)
// 设置图片以如何的编码方式显示
.imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
// 设置图片的解码类型
.bitmapConfig(Bitmap.Config.RGB_565)
// .decodingOptions(android.graphics.BitmapFactory.Options
// decodingOptions)//设置图片的解码配置
.considerExifParams(true)
// 设置图片下载前的延迟
.delayBeforeLoading(100)// int
// delayInMillis为你设置的延迟时间
// 设置图片加入缓存前,对bitmap进行设置
// .preProcessor(BitmapProcessor preProcessor)
.resetViewBeforeLoading(true)// 设置图片在下载前是否重置,复位
// .displayer(new RoundedBitmapDisplayer(20))//是否设置为圆角,弧度为多少
.displayer(new FadeInBitmapDisplayer(100))// 淡入
.build();
return options2;
}
}
//调用
DisplayImageOptions options2 = MyOptions.demo();
ImageLoader instance = ImageLoader.getInstance();
instance.displayImage(coverImg, img, options2);