毕加索用法 ------picasso官方文档解析

毕加索允许在您的应用程序中无麻烦地加载图像,通常只需一行代码!

Picasso.get().load("http://i.imgur.com/DvpvklR.png").into(imageView);

picasso功能特色:

自动检测到适配器重复使用,并取消以前的下载。

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.get().load(url).into(view);
}

图像转换

转换图像以更好地适应布局并减小内存大小。

Picasso.get()
  .load(url)
  .resize(50, 50)
  .centerCrop()
  .into(imageView)

您还可以为更高级的效果指定自定义转换。

public 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);
    if (result != source) {
      source.recycle();
    }
    return result;
  }

  @Override public String key() { return "square()"; }
}

占位符

毕加索支持下载和错误占位符作为可选功能。

Picasso.get()
    .load(url)
    .placeholder(R.drawable.user_placeholder)
    .error(R.drawable.user_placeholder_error)
    .into(imageView);

资源加载

资源、资产、文件、内容提供程序都支持作为图像源。

Picasso.get().load(R.drawable.landing_screen).into(imageView1);
Picasso.get().load("file:///android_asset/DvpvklR.png").into(imageView2);
Picasso.get().load(new File(...)).into(imageView3);
发布了14 篇原创文章 · 获赞 5 · 访问量 457

猜你喜欢

转载自blog.csdn.net/Professional_6/article/details/101393628