ImageLoader所有属性

来源:互联网 发布:蜂蜜源码 编辑:程序博客网 时间:2024/06/08 06:22

**

先在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位}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn paths.length;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}@Overridepublic 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 {@Overridepublic void onCreate() {// TODO Auto-generated method stubsuper.onCreate();// 初始化ImagaloadersetImagaloader();}private void setImagaloader() {// 得到imageLoaderImageLoader 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).// 得到imageLoaderImageLoader 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