android:强大的图片下载和缓存库Picasso
只需要一句代码就可以将图片下载并设置到ImageView上。
Picasso.with(context).load(
"http://i.imgur.com/DvpvklR.png"
).into(imageView);
2.主要特点
2.1Adapter downloads
使用ListView,GridView的时候,自动检测Adapter的重用(re-use),取消下载,使用缓存。
@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);
}
2.2图像处理与变换
Picasso.with(context)
.load(url)
.resize(
200
,
200
)
.centerCrop()
.into(imageView)//200单位为像素
.图像格式转换:很多时候需要将图片进行格式转换或者剪裁以节省内存或者达到我们的布局效果:
剪裁大小:
Picasso.with(context).load(imageUrl).resize(50,50).centerCrop().into(imageView);
.占位符图片:所谓的占位符图像即当图片未正常显示时默认的图片,通过placeholder()设置,Picasso也支持设置图片显示错误时显示的默认图片,通过error()设置:
Picasso.wint(context).load(imageUrl).placeholder(R.drawable.image_placeholder).error(R.drawable.image_error_placeholder).into(imageView);
载入本地资源:除了通过网络下载图片,Picasso也可以载入本地图片资源:
Picasso.with(context).load(R.drawable.icon).into(imageView);
Picasso.with(context).load("file:///android_asset/Adnroid.png").into(imageView);