Android 获取并显示远程图片 Picasso框架的使用
2016-03-01 23:06
381 查看
Picasso框架
[b]什么是Picasso:[/b]
强大的图片下载和缓存的第三方库;我觉得这就是对它最准确的描述了,至于其他特性,可以参见官网介绍:Picasso
[b]如何使用Picasso[/b]
1.Picasso的基本用法:
将Picasso添加进项目后,要使用它非常简单,只需要一行代码就能搞定:
Picasso.with(context).load(imageUrl).into(imageView);
短短的一行代码为我们解决了很多问题:
自动将图像缓存在本地
通过图片压缩转换以减少内存消耗
自动处理了ImageView的回收,即自动取消不在视野范围内的ImageView视图资源的加载;
2.适配器:适配器自动发现和重用以前取消的下载:
@Override public void getView(int position, View convertView, ViewGroup parent) { SquaredImageView view = (SquaredImageView) convertView; if (view == null) { view = new SquaredImageView(context); } String url = getItem(position); Picasso.with(context).load(url).into(view); }
3.图像格式转换:很多时候需要将图片进行格式转换或者剪裁以节省内存或者达到我们的布局效果:
剪裁大小:
Picasso.with(context).load(imageUrl).resize(50,50).centerCrop().into(imageView);
自定义格式转换:为了实现更多你想要图片转换的效果,你可以自己实现一个实现了Transformation接口的类,然后将其对象传递给transform()方法:
public calss myTransformation implements Transformation{ @Overrride public Bitmap transform(Bitmap source){ //对source实现自定义裁剪 } @Override public String key(){ return "square()"; } }
4.占位符图片:所谓的占位符图像即当图片未正常显示时默认的图片,通过placeholder()设置,Picasso也支持设置图片显示错误时显示的默认图片,通过error()设置:
Picasso.wint(context).load(imageUrl).placeholder(R.drawable.image_placeholder).error(R.drawable.image_error_placeholder).into(imageView);
5.载入本地资源:除了通过网络下载图片,Picasso也可以载入本地图片资源:
Picasso.with(context).load(R.drawable.icon).into(imageView); Picasso.with(context).load("file:///android_asset/Adnroid.png").into(imageView); Picasso.wiht(context).load(new File(...)).into(imageView);
6.调试:为了方便调试,你可以通过调用Picasso的setIndicatiorEnabled(true);可以让不同来源的图片显示一个不同的色彩标记;
总结:
是不是觉得Picasso的使用很简单了,如果应用中需要获取和显示大量的图片数据,Picasso是个不错的选择!想用的朋友,可以下载一下毕加索的架包http://pan.baidu.com/s/1hrr2jPi
相关文章推荐
- Android中使用日期选择器
- Android中使用Fragment
- Android中使用XML文件设置背景
- android-listview在Scrollview中只显示一行
- Android中Log日志的使用
- AndroidStudio快捷键
- android自定义电池View
- Android官方提供的支持不同屏幕大小的全部方法
- android绘图Paint.setXfermode()和Canvas.saveLayer()方法的作用
- Android性能优化——如何避免OOM总结
- android软键盘隐藏方法总结
- Android命名规范
- Android 基本知识
- Android控件属性
- Android抽象布局——include、merge 、ViewStub
- Android自定义控件
- Android中Notification的使用
- Android中的原型模式
- android学习笔记之-xml pull解析
- 几款Android开发者必备小工具