Picasso的簡(jiǎn)單使用及封裝
1.添加依賴
- 在app的build.grand的dependencies下添加依賴
compile 'com.squareup.picasso:picasso:2.5.2'
簡(jiǎn)單用法
Picasso
.with(context)
.load(url)
.into(imageView);
用法很簡(jiǎn)單,傳入 Context context , URL, 和 view 就可以了.
用簡(jiǎn)單的一句話說(shuō)
-
在(上下文中)傳入(地址)到(view上去)
簡(jiǎn)單的面向?qū)ο笏枷?/li>
Picasso 的封裝
- 新建一個(gè)類PicassoUtils 填入以下代碼
/**
* 加載默認(rèn)圖片
*
* @param context 上下文
* @param url 圖片地址
* @param imageView View
*/
public static void loadImageView(Context context, String url, ImageView imageView) {
Picasso.with(context).load(url).into(imageView);
}
/**
* 默認(rèn)加載指定大小的圖片
*
* @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);
}
/**
* 加載默認(rèn)圖片(默認(rèn)有圖片)
*
* @param context
* @param url
* @param imageView
* @param loadImage 加載默認(rèn)的圖片
* @param errorImage 加載錯(cuò)誤的圖片
*/
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); //創(chuàng)建一個(gè)新的Bitmap
if (result != source) {
//回收
source.recycle();
}
return result;
}
@Override
public String key() {
return "square()";
}
}
個(gè)人拙見 ,如有錯(cuò)誤請(qǐng)指正!