第三方开源库:imageLoader的使用

效果图:

注意:若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'
    ...
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值