首页 > 系统 > Android > 正文

SimpleCommand框架ImageLoader API详解(三)

2019-10-22 18:25:24
字体:
来源:转载
供稿:网友

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之后调用。

框架github地址: SimpleCommand框架

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表