本篇博客将介绍一下xUtils的图片模块,想要学习的小伙伴请先看第一篇注解模块完成第一第二步哦。

Android快速开发框架之xUtils—注解模块:

Android快速开发框架之xUtils—网络模块:

1.在布局文件中添加了5个ImageView用来显示加载的图片,准备5个或多个图片地址

private String[] url = {
            "http://images.juheapi.com/jztk/c1c2subject1/1.jpg",
            "http://images.juheapi.com/jztk/c1c2subject1/25.jpg",
            "http://images.juheapi.com/jztk/c1c2subject1/48.jpg",
            "http://images.juheapi.com/jztk/c1c2subject1/131.jpg",
            "http://images.juheapi.com/jztk/c1c2subject1/154.jpg"};

2.第一种加载方式

x.image().bind(imageView01, url[0]);//第一个参数显示图片的imageview,第二个图片地址

3.第二种加载方式,为要加载的图片设置一些参数

ImageOptions options = new ImageOptions.Builder()
                .setConfig(Bitmap.Config.RGB_565)//设置图片质量,这个是默认的
                .setSquare(true)
                .setCrop(true)//设置图片大小
                .setSize(200, 200)//设置图片大小
                .setFadeIn(true)//淡入效果
                .setCircular(true)//展示为圆形
                .build();
        x.image().bind(imageView02, url[1], options);

4.ImageOptions 中所有的参数设置,仔细阅读哦

ImageOptions options = new ImageOptions.Builder()
                .setConfig(Bitmap.Config.RGB_565)//设置图片质量,这个是默认的
                .setFadeIn(true)//淡入效果
                //需成对使用
                .setCrop(true)//设置图片大小
                .setSize(500, 500)//设置图片大小

                .setAnimation()//设置动画
                .setAutoRotate()//自动获取图片信息将照片旋转至正确角度
                .setCircular(true)//展示为圆形
                .setFailureDrawable()//当图片下载失败时。设置展示的图片
                .setFailureDrawableId()//当图片下载失败时。设置展示的图片

                .setForceLoadingDrawable(true)//设置为true时会显示正在加载的图片,否则不显示
                .setLoadingDrawable()//图片正在加载时显示的默认图片
                .setLoadingDrawableId()//图片正在加载时显示的默认图片

                .setIgnoreGif()//是否忽略Gif图片
                .setParamsBuilder(new ImageOptions.ParamsBuilder() {//添加请求参数
                    @Override
                    public RequestParams buildParams(RequestParams params, ImageOptions options) {
                        params.addBodyParameter("key", "value");
                        return params;
                    }
                })
                .setPlaceholderScaleType()//设置加载失败或是加载中图片的缩放
                .setRadius()//设置拐角的弧度
                .setSquare(true)//设置为正方形
                .setUseMemCache()//设置缓存,默认为true
                .build();

5.第三种方式,带有回调监听函数

x.image().bind(imageView03, url[2], new Callback.CommonCallback<Drawable>() {
            @Override
            public void onSuccess(Drawable result) {
                //加载成功
            }

            @Override
            public void onError(Throwable ex, boolean isOnCallback) {
                //加载失败
            }

            @Override
            public void onCancelled(CancelledException cex) {
                //手动取消
            }

            @Override
            public void onFinished() {
                //加载完成,不管出错/成功都会回调
            }
        });

6.第四种方式,传入四个参数的构造方法

x.image().bind(imageView04, url[3], options, new Callback.CommonCallback<Drawable>() {
            @Override
            public void onSuccess(Drawable result) {
            }
            //....回调方法省略,与上面基本一致

7.第五种方式,使用x.image().loadDrawable()加载

x.image().loadDrawable(url[4], options, new Callback.CommonCallback<Drawable>() {
            @Override
            public void onSuccess(Drawable result) {
                //加载成功回调
                imageView05.setImageDrawable(result);
            }
            //....回调方法省略,与上面基本一致

8.第六种方式,使用x.image().loadFile()加载

x.image().loadFile(url[5], options, new Callback.CacheCallback<File>() {
            @Override
            public boolean onCache(File result) {
                //true相信本地缓存,第二次加载图片将不会请求网络同时onSuccess返回为空
                return true;
            }
            //....回调方法省略,与上面基本一致

效果图

android 集成union app android 集成xui_android

到这里就图片模块也说完了接下来就只剩下一个数据库模块了。

项目地址:https://github.com/azhong1011/xUtils