欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

SimpleCommand框架ImageLoader API详解(三)

程序员文章站 2023-12-04 08:41:10
imageloader api 详细介绍,具体内容如下 在imageloader中有以下几个不同的构造器: /** * 注意: 次构造器不支持下载进度提示...

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框架

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