Picasso的简单使用及封装

来源:互联网 发布:如何测试端口通不通 编辑:程序博客网 时间:2024/06/08 11:05

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

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

原创粉丝点击