1.介绍
Picasso是由Square公司开发的一个图片加载框架
项目地址:https://github.com/square/picasso
文档介绍:http://square.github.io/picasso/
特点:(1)可以自动检测adapter的重用并取消之前的下载
(2)图片变换
(3)可以加载本地资源
(4)可以设置占位资源
(5)支持debug模式
2.使用
可以通过picasso的网站进行下载:http://square.github.io/picasso/
如果你是用的是Android Studio,你只需要在dependency section中的build.gradle中添加 compile'com.squareup.picasso:picasso:2.3.3'
3.具体代码
xml中:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
activity中:
ImageView imageView = (ImageView) findViewById(R.id.imageView);
Picasso.with(this)
.load("https://cms-assets.tutsplus.com/uploads/users/21/posts/19431/featured_image/CodeFeature.jpg")
.into(imageView);
with
()传入context,load()传入url,into()传入控件,只需一句话即可实现图片异步加载。
4.更多例子
picasso还有更多的功能,下面的例子获取图片并改变它们的大小进行展示:
Picasso.with(this)
.load(https://cms-assets.tutsplus.com/uploads/users/21/posts/19431/featured_image/CodeFeature.jpg)
.resize(100, 100)
.into(imageView)
picasso还支持旋转,下面的是旋转180度:
Picasso.with(this)
.load("https://cms-assets.tutsplus.com/uploads/users/21/posts/19431/featured_image/CodeFeature.jpg")
.rotate(180)
.into(imageView);
picasso还支持占位图片,当网络的图片加载完的时候占位图片被取代:
Picasso.with(this)
.load(https://cms-assets.tutsplus.com/uploads/users/21/posts/19431/featured_image/CodeFeature.jpg)
.placeholder(R.drawable.image_name)
.into(imageView);
同时还可以设置加载错误时的图片:
Picasso.with(this)
.load(https://cms-assets.tutsplus.com/uploads/users/21/posts/19431/featured_image/CodeFeature.jpg)
.error(R.drawable.image_name)
.into(imageView);
也可以同时使用两种方法:
Picasso.with(this)
.load(https://cms-assets.tutsplus.com/uploads/users/21/posts/19431/featured_image/CodeFeature.jpg)
.placeholder(R.drawable.image_name_default)
.error(R.drawable.image_name_error)
.into(imageView);
总结:Picasso支持缓存,不需要配置或初始化,使用起来非常的简单。