Picasso的简单使用及封装

Picasso的简单使用及封装

  • 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()";
        }
    }

个人拙见 ,如有错误请指正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值