温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SimpleCommand框架ImageLoader API的示例分析

发布时间:2021-08-25 10:08:53 来源:亿速云 阅读:151 作者:小新 栏目:移动开发

这篇文章主要介绍SimpleCommand框架ImageLoader API的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

在ImageLoader中有以下几个不同的构造器:

/**   * 注意: 次构造器不支持下载进度提示功能   * @param context   * @param withCache 是否支持缓存   *     false--不带缓存   *     true--支持缓存功能,默认缓存路径在外置存储缓冲目录中的picasso-big-cache文件夹中   */  public ImageLoader(Context context, boolean withCache) {   this(context, null, withCache);  }  /**   * 支持下载进度提示,以及设置缓存路径   * @param context   * @param listener 下载进度监听器   * @param cachePath 缓存路径字符串   */  public ImageLoader(Context context, ProgressListener listener, String cachePath) {   // TODO extend to support multiple libraries as Glide   // TODO must be initialized and kept as an member instance to avoid losing cache   Picasso.Builder builder = setupLoaderClientWithCachePath(context, listener, cachePath);   setupListener(builder);   picasso = builder.build();   picasso.setIndicatorsEnabled(BuildConfig.DEBUG);   picasso.setLoggingEnabled(BuildConfig.DEBUG);  }  /**   * 支持下载进度提示,以及设置缓存路径为默认路径picasso-big-cache   * @param context   * @param listener 下载进度监听器   * @param withCache 是否支持缓存   */  public ImageLoader(Context context, ProgressListener listener, boolean withCache) {   // TODO extend to support multiple libraries as Glide   // TODO must be initialized and kept as an member instance to avoid losing cache   Picasso.Builder builder = setupLoaderClient(context, listener, withCache);   setupListener(builder);   picasso = builder.build();   picasso.setIndicatorsEnabled(BuildConfig.DEBUG);   picasso.setLoggingEnabled(BuildConfig.DEBUG);  }
public void shutdown() {   if (picasso == null) return;   Logger.d(Logger.TAG, "Image loader has been shutdown");   picasso.shutdown();   callback = null;  }

将ImageLoader停止,一般在Activity停止,或者任务结束时调用此方法将其关闭

public ImageLoader cancelRequest(ImageView imageView) {   picasso.cancelRequest(imageView);   return this;  }

取消之前显示到ImageView上的请求

public ImageLoader load(final int resourceId) {   cleanResources();   this.imageResourceId = resourceId;   return this;  } public ImageLoader load(final String imageUri) {   cleanResources();   this.imageUri = imageUri;   return this;  }

分别加载本地drawable文件夹下的图片,以及网络图片

public ImageLoader withPlaceholder(final int placeholder) {   this.placeholder = placeholder;   return this;  }

设置ImageLoader下载图片时的预览图

public ImageLoader withErrorImage(final int errorImage) {   this.errorImage = errorImage;   return this;  }

下载图片失败时显示的图片

public ImageLoader withTag(final String tag) {   this.tag = tag;   return this;  } public void pause(final String tag) {   if (picasso == null) return;   picasso.pauseTag(tag);  } public void resume(final String tag) {   if (picasso == null) return;   picasso.resumeTag(tag);  }

以上三个方法依次是

1 下载图片时添加标签tag
2 暂停tag标签的下载任务
3 resume tag标签的下载任务

public ImageLoader withCallback(final Callback callback) {   this.callback = callback;   return this;  }

给ImageLoader设置下载完成的回调,包含onSuccess和onFailed方法

public ImageLoader fit() {   this.fit = true;   return this;  }  public ImageLoader centerCrop() {   this.centerCrop = true;   return this;  }  public ImageLoader centerInside() {   this.centerInside = true;   return this;  }  public ImageLoader resize(final int widthResId, final int heightResId) {   this.widthResId = widthResId;   this.heigthResId = heightResId;   return this;  }

分别设置Picasso下载图片时的相应属性, 可以参考ImageView的scaleType属性

public void into(final ImageView imageView) {   run(imageView);  }

into方法调用内部run方法,并启动下载任务。 此方法需要在以上所有的API之后调用。

以上是“SimpleCommand框架ImageLoader API的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI