本文共 2635 字,大约阅读时间需要 8 分钟。
效果图:
注意:若app中需要使用圆角图片,且图片是根据url获取的,可以使用imageLoader,只需在参数设置中:displayer(new RoundedBitmapDisplayer(int rounded))
imageLoader使用步骤:
1 初始化
2 设置参数
3 display()
1 初始化:在application的onCreate()方法中初始化
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); // imageLoader要在application的oncreate()方法中初始化 initImageLoader(); } public void initImageLoader() { //imageLoader要在application的oncreate()方法中初始化 //1 设置参数 ImageLoaderConfiguration.Builder config = new ImageLoaderConfiguration.Builder(getApplicationContext()); config.threadPriority(Thread.NORM_PRIORITY - 2); config.denyCacheImageMultipleSizesInMemory();//不会在内存中缓存多个大小的图片 config.diskCacheFileNameGenerator(new Md5FileNameGenerator());//为了保证图片名称唯一 config.diskCacheSize(50 * 1024 * 1024); // 50 MiB //内存缓存大小默认是:app可用内存的1/8 config.tasksProcessingOrder(QueueProcessingType.LIFO); config.writeDebugLogs(); // Remove for release app //2初始化 ImageLoader.getInstance().init(config.build()); }}2 设置参数:DisplayImageOptions
public class ImageLoaderOptions { // 1 listView中图片参数 public static DisplayImageOptions options = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.ic_default)// 加载中显示的图片 .showImageForEmptyUri(R.drawable.ic_default)// 图片url为空显示的图片 .showImageOnFail(R.drawable.ic_default)// 显示失败替代的图片 .cacheInMemory(true)// 在内存中缓存 .cacheOnDisk(true)// 在硬盘中缓存 .considerExifParams(true)// 识别图片的方向信息 // .displayer(new FadeInBitmapDisplayer(3000))//图片渐变效果显示 .displayer(new RoundedBitmapDisplayer(1000)).build();// 图片圆角显示:边角处內圆的半径值。 // 若想圆形显示,则设置>=imageview宽/2,且宽=高。[可直接给1000] // RoundedBitmapDisplayer 当imageview的height= wrap_content高可能显示不出来 // 2 viewPager中参数设置() public static DisplayImageOptions pagerOptions = new DisplayImageOptions.Builder() .showImageForEmptyUri(R.drawable.ic_default) .showImageOnFail(R.drawable.ic_default) .resetViewBeforeLoading(true)// 加载前清空imageview上的图片 .cacheInMemory(true) .cacheOnDisk(true) .imageScaleType(ImageScaleType.EXACTLY)// 图片的缩放类型,对图片进行进一步的压缩,EXACTLY_STRETCHED:拉伸 .bitmapConfig(Config.RGB_565)// 设置图片的色彩模式,是比较节省内存的模式 .displayer(new FadeInBitmapDisplayer(2000))// .displayer(new RoundedBitmapDisplayer(1000)) //当imageview的height=wrap_content高可能显示不出来。 .build();}3 调用display()方法
ImageLoader.getInstance().displayImage(Contant.urls[position], holder.imageView, ImageLoaderOptions.options);
源码实例: http://download.csdn.net/detail/ss1168805219/9501847
Android Studio 中如何引用?
dependencies { ... compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' ...}