您的位置:首页 > 移动开发 > Android开发

Android框架——SmartImageView

2014-04-14 22:57 369 查看
SmartImageView的设计初衷是来取代Android自带的ImgageView组件,另外它还提供了一些附加功能,如:

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

在做一些需要从网上获取图片的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.baidu.com/1.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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android