Android Smart Image View

SmartImageView的设计初衷是来取代Android自带的ImgageView组件,另外它还提供了一些附加功能,如:

  • 支持通过URL来加载图片;
  • 支持从电话簿中加载图片;
  • 异步加载图片;
  • 图片被缓存在内存,以便下次快速加载显示;
  • SmartImageView类可以被很容易扩展成对其它资源的调用;

作者主页:http://loopj.com/android-smart-image-view/

下载提供的jar包,该项目是开源的,也可以去github下载源码使用
https://github.com/loopj/android-smart-image-view

在做一些需要从网上获取图片的APP时,就难免要做很多处理。
这个项目就是针对这些做了很多处理。

XML添加一个控件
 
 
<com.loopj.android.image.SmartImageView android:id="@+id/my_image" />

获取引用
SmartImageView myImage = (SmartImageView) this.findViewById(R.id.my_image);

获取网络图片,这个过程本身就是异步。不必再进行处理,也不必担心线程阻塞
网络获取到的图片都进行了缓存的处理。会在程序的cache目录下建/web_image_cache/,图片存在这里
上次使用的时候,如果缓存图片已经存在,则不再从网络获取图片
 
 
myImage.setImageUrl("http://www.awesomeimages.com/myawesomeimage.jpg");

 
 
 
 
有一些功能,作者主页并没有说明,但是查看源码可以看到


先看.setImageUrl都有什么方法

1、最普通的一个,直接设置图片地址
 
 
    // Helpers to set image by URL
    public void setImageUrl(String url) {
        setImage(new WebImage(url));
    }
2、有一个接口,完成下载的时候调用
    public void setImageUrl(String url, SmartImageTask.OnCompleteListener completeListener) {
        setImage(new WebImage(url), completeListener);
    }
3、从字面意思可以看出,是一个备用的资源。如果从网络获取图片失败,则使用备用资源
    public void setImageUrl(String url, final Integer fallbackResource) {
        setImage(new WebImage(url), fallbackResource);
    }
 
 
4、类似上面
    public void setImageUrl(String url, final Integer fallbackResource, SmartImageTask.OnCompleteListener completeListener) {
        setImage(new WebImage(url), fallbackResource, completeListener);
    }
5、多了一个loadingResource,就是正在下载的时候展示的图片
    public void setImageUrl(String url, final Integer fallbackResource, final Integer loadingResource) {
        setImage(new WebImage(url), fallbackResource, loadingResource);
    }
6、类似上面
    public void setImageUrl(String url, final Integer fallbackResource, final Integer loadingResource, SmartImageTask.OnCompleteListener completeListener) {
        setImage(new WebImage(url), fallbackResource, loadingResource, completeListener);
    }
 
 
 
 
SmartImageView确实很方便,能解决大部分问题。有不符合自己要求的地方,还可以根据源码去修改。
 
 
感谢作者为我们提供这样的工具
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值