ImageLoader所有属性

**

先在MainActivity的xml文件中创建listview控件
在获取控件id,并创建适配器
在创建的适配器中
public class Myadapter extends BaseAdapter {
Context context;
String[] paths;
private ImageLoader imageLoader;
private DisplayImageOptions.Builder builder;
public Myadapter(Context context, String[] paths) {
this.context = context;
this.paths = paths;
imageLoader = ImageLoader.getInstance();
//ImageLoader加载图片过程中,对图片的设置
builder = new Builder();
//图片是否缓存在内存中
builder.cacheInMemory(true);
//图片是否缓存在sd卡中
builder.cacheOnDisk(true);
//图片的地址为空的时候显示的默认图片
// Bitmap decodeFile = BitmapFactory.decodeFile("pathName");
// builder.showImageForEmptyUri(new BitmapDrawable(decodeFile));
builder.showImageForEmptyUri(R.drawable.ic_launcher);
//图片加载失败显示的默认图片
builder.showImageOnFail(R.drawable.ic_launcher);
//图片加载过程中显示的图片
builder.showImageOnLoading(R.drawable.ic_launcher);
builder.bitmapConfig(Config.RGB_565); //每个像素点占16位
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return paths.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = View.inflate(context, R.layout.item, null);
holder.imageView = (ImageView) convertView
.findViewById(R.id.imageView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
//参数一:图片地址
//参数二:展示图片的控件
//参数三:加载图片过程中设置的属性
//加载图片过程中的监听
imageLoader.displayImage(paths[position], holder.imageView, builder.build(), new ImageLoadingListener() {
@Override//开始加载图片
public void onLoadingStarted(String arg0, View arg1) {
// TODO Auto-generated method stub
}
@Override//图片加载失败
public void onLoadingFailed(String arg0, View arg1, FailReason arg2) {
// TODO Auto-generated method stub
}
@Override//图片加载成功
public void onLoadingComplete(String arg0, View arg1, Bitmap arg2) {
// TODO Auto-generated method stub
}
@Override//图片取消加载
public void onLoadingCancelled(String arg0, View arg1) {
// TODO Auto-generated method stub
}
}) ;
return convertView;
}
class ViewHolder {
ImageView imageView;
}
}

**

**

创建类继承Application 
public class MyApplication extends Application {
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
// 初始化Imagaloader
setImagaloader();
}
private void setImagaloader() {
// 得到imageLoader
ImageLoader imageLoader = ImageLoader.getInstance();
// imageLoader构建对象
ImageLoaderConfiguration.Builder builder = new Builder(this);
// 设置磁盘缓存策略*(sd卡)
String cacheDir = Environment.getExternalStorageDirectory()
+ "/ImagaloadercacheDir";
// 磁盘缓存
builder.discCache(new UnlimitedDiskCache(new File(cacheDir)));
// 内存缓存
builder.memoryCache(new LruMemoryCache(1024 * 1024 * 20));
imageLoader.init(builder.build());
}
}

**

**
/**
*imageLoader使用方法
*/
ImageLoader配置
1.创建MyApplicaiton继承Appicaiton类,在onCreate方法里创建ImageLoader 配置参数并初始化到ImageLoader
两种方法
(1).
// 得到imageLoader
ImageLoader imageLoader = ImageLoader.getInstance();
// imageLoader构建对象
ImageLoaderConfiguration.Builder builder = new Builder(this);
// 设置磁盘缓存策略*(sd卡)
String cacheDir = Environment.getExternalStorageDirectory()
+ "/ImagaloadercacheDir";
// 磁盘缓存
// 设置磁盘缓存策略*(sd卡)
String cacheDir = Environment.getExternalStorageDirectory()
+ "/ImagaloadercacheDir";
builder.discCache(new UnlimitedDiskCache(new File(cacheDir)));
// 内存缓存(运行内存)
builder.memoryCache(new LruMemoryCache(1024 * 1024 * 20));
imageLoader.init(builder.build());
(2). //创建默认的ImageLoader配置参数
ImageLoaderConfiguration configuration=ImageLoaderConfiguration.createDefault(context);
imageLoader.init(configuration);
2.在清单文件下配置(Application标签下的name属性)
android:name="com.bawei.imageLoader.MyApplication"
3.展示图片
ImageLoader imageLoader = ImageLoader.getInstance();
//创建DisplayImageOptions对图片的设置
DisplayImageOptions.Builder builder = new Builder();
//图片是否缓存在内存中
builder.cacheInMemory(true);
//图片是否缓存在sd卡中
builder.cacheOnDisk(true);
//图片加载失败显示的默认图片
builder.showImageOnFail(R.drawable.ic_launcher);
//图片加载过程中显示的图片
builder.showImageOnLoading(R.drawable.ic_launcher);
imageLoader.displayImage(paths[position], holder.imageView, builder.build());
*****缓存策略
UsingFreqLimitedMemoryCache (缓存大小超过指定值时,删除最少使的bitmap)
LRULimitedMemoryCache (缓存大小超过指定值时,删除最近最少使用的<span helvetica="" segoe="" style="font-family:">bitmap) --默认值</span>
FIFOLimitedMemoryCache (缓存大小超过指定值时,按先进先出规则删除的<span helvetica="" segoe="" style="font-family:">bitmap)</span>
LargestLimitedMemoryCache (缓存大小超过指定值时,删除最大的bitmap)
LimitedAgeMemoryCache (缓存对象超过定义的时间后删除)

**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值