SmartImageView的设计初衷是来取代Android自带的ImgageView组件,另外它还提供了一些附加功能,如:
- 支持通过URL来加载图片;
- 支持从电话簿中加载图片;
- 异步加载图片;
- 图片被缓存在内存,以便下次快速加载显示;
- SmartImageView类可以被很容易扩展成对其它资源的调用;
作者主页:http://loopj.com/android-smart-image-view/下载提供的jar包,
该项目是开源的,也可以去github下载源码使用
https://github.com/loopj/android-smart-image-view
https://github.com/loopj/android-smart-image-view
XML添加一个控件
<com.loopj.android.image.SmartImageView android:id="@+id/iv" />
<com.loopj.android.image.SmartImageView android:id="@+id/iv" />
获取引用
SmartImageView myImage = (SmartImageView) this.findViewById(R.id.my_image);
通过路径获取图片
myImage.setImageUrl("http://192.168.1.12:8080/tu.jpg");
网络获取到的图片都进行了缓存的处理。会在程序的cache目录下建/web_image_cache/,图片存在这里
上次使用的时候,如果缓存图片已经存在,则不再从网络获取图片
布局
<com.loopj.android.image.SmartImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
代码
public void click(View v){
//下载图片
//1.确定网址
String path = "http://192.168.13.13:8080/dd.jpg";
//2.找到智能图片查看器对象
SmartImageView siv = (SmartImageView) findViewById(R.id.iv);
//3.下载并显示图片
siv.setImageUrl(path);
}
<uses-permission android:name="android.permission.INTERNET"/>