Picasso的简单使用及封装
1.添加依赖
- 在app的build.grand的dependencies下添加依赖
compile 'com.squareup.picasso:picasso:2.5.2'
简单用法
Picasso
.with(context)
.load(url)
.into(imageView);
用法很简单,传入 Context context , URL, 和 view 就可以了.
用简单的一句话说
-
在(上下文中)传入(地址)到(view上去)
简单的面向对象思想
Picasso 的封装
- 新建一个类PicassoUtils 填入以下代码
/**
* 加载默认图片
*
* @param context 上下文
* @param url 图片地址
* @param imageView View
*/
public static void loadImageView(Context context, String url, ImageView imageView) {
Picasso.with(context).load(url).into(imageView);
}
/**
* 默认加载指定大小的图片
*
* @param context 上下文
* @param url 图片地址
* @param imageView View
* @param width 宽
* @param height 高
*/
public static void loadImageViewSize(Context context, String url, ImageView imageView, int width, int height) {
Picasso
.with(context)
.load(url)
.resize(width, height)
.centerCrop()
.into(imageView);
}
/**
* 加载默认图片(默认有图片)
*
* @param context
* @param url
* @param imageView
* @param loadImage 加载默认的图片
* @param errorImage 加载错误的图片
*/
public static void loadImageViewDefaultImage(Context context, String url, ImageView imageView, int loadImage, int errorImage) {
Picasso
.with(context)
.load(url)
.placeholder(loadImage)
.error(errorImage)
.into(imageView);
}
/**
* 裁剪图片
*
* @param context
* @param url
* @param imageView
*/
public static void loadImageViewCrop(Context context, String url, ImageView imageView) {
Picasso
.with(context)
.load(url)
.transform(new CropSquareTransformation())
.into(imageView);
}
/**
* 按比例裁剪矩形
*/
public static class CropSquareTransformation implements Transformation {
@Override
public Bitmap transform(Bitmap source) { //传入加载的图片
int size = Math.min(source.getWidth(), source.getHeight()); //获取图片宽高的最小值.
int x = (source.getWidth() - size) / 2;
int y = (source.getHeight() - size) / 2;
Bitmap result = Bitmap.createBitmap(source, x, y, size, size); //创建一个新的Bitmap
if (result != source) {
//回收
source.recycle();
}
return result;
}
@Override
public String key() {
return "square()";
}
}
个人拙见 ,如有错误请指正!