一、
1.Picasso简介
Picasso是由Square公司推出的一个功能强大的Android图片加载和缓存库。
2. Picasso优点介绍
1)Picasso解决了在adapter中需要取消已经不在视野范围的ImageView图片资源的加载,否则导致图片错位的这个问题。
2)Picasso使用复杂的图片压缩转换来尽可能的减少内存消耗。
3)Picasso自带内存和硬盘二级缓存功能。
3.项目地址
https://github.com/square/picasso
二、Picasso使用。
1.Picasso基本用法。
1)导入项目
导入jar包或在module的gradle文件中添加compile 'com.squareup.picasso:picasso:2.5.2'。
2)基本语句
Picasso.with(context).load(imageUrl).into(imageView);
2.图片路径load()。
1)load SD卡资源
load("file://"+ Environment.getExternalStorageDirectory().getPath()+"/test.jpg");
2)load assets资源
load("file:///android_asset/f003.gif");
3)load drawable资源
load("android.resource://com.frank.glide/drawable/news");
4)load http资源
load("http:www.123.com/1234567890.jpg");
3.资源加载的方法
1) .placeholder(xxx). 设置资源加载过程中的显示的Drawable。
2) .error(xxx).设置load失败时显示的Drawable。
3) .into(xxx) 设置资源加载到的目标 包括ImageView Target等。
4.图片裁剪。
Picasso.with(this).load("https://ps.ssl.qhimg.com/dmfd/400_300_/t017c24387821f1820a.jpg")
.resizeDimen(R.dimen.iv_width,R.dimen.iv_height) //设置剪切后的尺寸
.into(iv);
5.Picasso工具类
public class PicassoUtil {
//加载本地图片
public static void setImg(Context context, int resId, ImageView imgView){
Picasso.with(context)
.load(resId)
.config(Bitmap.Config.RGB_565)//8位RGB位图
.fit()
.into(imgView);
}
//按照一定的宽高加载本地图片,带有加载错误和默认图片
public static void setImg(Context context,int resId,ImageView imgView,int weight,int height){
Picasso.with(context)
.load(resId)//加载本地图片
.config(Bitmap.Config.RGB_565)//8位RGB位图
.resize(weight,height)//设置图片的宽高
.into(imgView);//把图片加载到控件上
}
//加载网络图片到imgview,带有加载错误和默认图片
public static void setImg(Context context, String imgurl, int resId, ImageView imgView){
Picasso.with(context)
.load(imgurl)//加载网络图片的url
.config(Bitmap.Config.RGB_565)//8位RGB位图
.placeholder(resId)//默认图片
.error(resId)//加载错误的图片
.fit()//图片的宽高等于控件的宽高
.into(imgView);//把图片加载到控件上
}
public static void setImg(Context context, String imgurl, ImageView imgView){
Picasso.with(context)
.load(imgurl)//加载网络图片的url
.config(Bitmap.Config.RGB_565)//8位RGB位图
.fit()//图片的宽高等于控件的宽高
.into(imgView);//把图片加载到控件上
}
//加载网络图片到Viewpager
public static void setImg(Context context, String imgurl, ViewPager imgView){
Picasso.with(context)
.load(imgurl)//加载网络图片的url
.config(Bitmap.Config.RGB_565)//8位RGB位图
.fit()//图片的宽高等于控件的宽高
.into((Target) imgView);//把图片加载到控件上
}
//加载网络图片到Viewpager,带有加载错误和默认图片
public static void setImg(Context context, String imgurl, int resId, ViewPager imgView){
Picasso.with(context)
.load(imgurl)//加载网络图片的url
.config(Bitmap.Config.RGB_565)//8位RGB位图
.placeholder(resId)//默认图片
.error(resId)//加载错误的图片
.fit()//图片的宽高等于控件的宽高
.into((Target) imgView);//把图片加载到控件上
}
//按照设定的宽高加载网络图片到imgview
public static void setImg(Context context, String imgurl,ImageView imgView,int weight,int height){
Picasso.with(context)
.load(imgurl)//加载网络图片的url
.config(Bitmap.Config.RGB_565)//8位RGB位图
.resize(weight,height)//设置图片的宽高
.into(imgView);//把图片加载到控件上
}
//按照设定的宽高加载网络图片到imgview,带有加载错误和默认图片
public static void setImg(Context context, String imgurl, int resId,int weight,int height, ImageView imgView){
Picasso.with(context)
.load(imgurl)//加载网络图片的url
.config(Bitmap.Config.RGB_565)//8位RGB位图
.placeholder(resId)//默认图片
.error(resId)//加载错误的图片
.resize(weight,height)//设置图片的宽高
.into(imgView);//把图片加载到控件上
}
}
三、Picasso使用案例
1.后续有时间补上。
看到此,是不是接的Picasso的简单使用是不是很简单,谢谢浏览!