Android开源框架之图片加载器ImageLoad的用法
来源:互联网 发布:网络摄像头搜不到ip 编辑:程序博客网 时间:2024/05/29 02:46
刚学习Android不久,慢慢的会接触到一些从网络或本地动态加载图片的问题,刚开始自己在考虑用ImageView 控件,利用其方法去设置一个本地的图片,这种方法并不是很好,尤其是有很多图片,又有大图,很有可能造成内存溢出。 这几天在网上教程里看到了github的开源框架,ImageLoad和picasso图片加载开源框架,大神们写的东西就是好用,后来又参考了CSDN上一位博主写的(http://blog.csdn.net/wwj_748/article/details/10079311),非常的详细,完全可以作参考,我自己又写了一些代码,觉得应该总结一下,便于日后浏览。
ImageLoad的使用步骤:
- 下载Imageload的.jar文件,这个百度就有很多,将jia文件导入到自己的项目中。
ImageLoad需要初始化
//创建默认的ImageLoader配置参数
ImageLoaderConfiguration configuration = ImageLoaderConfiguration
.createDefault(this);
//Initialize ImageLoader with configuration.
ImageLoader.getInstance().init(configuration);
这个没有的话就会报错,当时我看视频的时候因为他定义了一个Application在这里写了这样的初始化参数,而并没有讲到,导致我所建的项目一运行就出错。
3.实例化ImageLoad对象
ImageLoader imageLoader = ImageLoader.getInstance();
4.配置ImageLoad的加载图片参数
// 使用DisplayImageOptions.Builder()创建DisplayImageOptions options = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.onlond_img) //加载时显示的图片 .showImageOnFail(R.drawable.error_img) //出错时显示的图片 .showImageForEmptyUri(R.drawable.null_img) //地址为空时 .cacheInMemory(true) //是否缓存在内存 .cacheOnDisk(true) //是否缓存到sd卡 .bitmapConfig(Bitmap.Config.RGB_565) //图片显示格式 .displayer(new RoundedBitmapDisplayer(50)) //设置成圆角图片,将数值改大,可以显示成圆形,用作头像的加载 .build();
这里还有其他参数,这里我只列出了比较常用的几个属性。
5.设置需要显示的控件,将图片加载到该控件上
imageview = findViewById(R.id.image);imageLoader.displayImage("url", imageview,options);
以上即是IamgeLoad的基本的步骤,我们还可以结合ListView进行图片的加载,在这方面我们会使用的比较多。
这里贴出一些listview的使用:
listview = (ListView) findViewById(android.R.id.list);listview.setAdapter(new ItemAdapter());//自定义适配器public class ItemAdapter extends BaseAdapter { private List<String> list= new ArrayList<String>(); //加载图片路径 private class viewHolder{ TextView text; ImageView image; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view = convertView; final viewHolder hoder; if (convertView == null) { view = getLayoutInflater() .inflate(R.layout.item_list_image, parent,false); hoder = new viewHolder(); hoder.text = (TextView) view.findViewById(R.id.text); hoder.image = (ImageView) view.findViewById(R.id.image); view.setTag(hoder); }else{ hoder =(viewHolder) view.getTag(); } hoder.text.setText("Item"+position+1); /** * 显示图片 * 参数1:图片url * 参数2:显示图片的控件 * 参数3:显示图片的设置 */ imageLoader.displayImage(list.get(position), hoder.image,options); return view; } }
0 0
- Android开源框架之图片加载器ImageLoad的用法
- ImageLoad图片加载器
- 使用imageload加载图片
- imageload(listview图片加载错位)
- imageload控件处理加载图片闪动的问题
- 【Android 开源系列】之图片加载框架
- Android强大的图片加载框架:Glide的基本用法
- Android强大的图片加载框架Fresco简单用法
- Android图片加载框架Glide的基本用法
- Android图片加载框架-Glide的基本用法
- Android图片加载框架 Glide 的基本用法
- Android图片加载框架,Glide的简单用法
- Android图片加载框架Glide的基本用法详解
- Android图片加载框架Glide的简单用法
- Android项目框架之图片加载框架的选择
- 为什么ImageLoad加载图片加载不出来
- Android图片加载框架Glide用法
- Android图片加载框架Glide用法
- 深入理解Java(一)类加载原理
- 技术中的形而上(一)----Linux下的usb四大家族
- PHP中确定目录大小的相关问题代码
- 242. Valid Anagram
- iOS最全性能优化(上)
- Android开源框架之图片加载器ImageLoad的用法
- 表单重复提交
- Android常用标记
- Linux下pager-taglib分页中文搜索乱码
- 马踏棋盘的贪心算法 递归算法 非递归算法实现
- [LeetCode]27. Remove Element
- 如何给产品做减法
- 九度题目1056最大公约数
- js提交表单kindeditor编辑器内容无法获取