zoukankan      html  css  js  c++  java
  • SmartImageView的使用


    对于Android智能图像查看

    SmartImageView是一个简易替换为Android标准的ImageView这还可以让图像从URL或用户的联系人地址簿加载。图片被缓存到内存和磁盘的超快速装载。

    产品特点

      • 插入式替换的ImageView
      • 从URL加载图像
      • 从手机的联系人通讯录载入图片
      • 图像的异步加载,加载发生在UI线程以外
      • 图片被缓存到内存和磁盘的超快速装载
      • SmartImage技术类很容易扩展到其他来源的加载
      • http://blog.sina.com.cn/s/blog_691051e10101b4py.html

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

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

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

        下载提供的jar包,该项目是开源的,也可以去github下载源码使用
        在做一些需要从网上获取图片的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确实很方便,能解决大部分问题。有不符合自己要求的地方,还可以根据源码去修改。感谢作者为我们提供这样的工具

         

  • 相关阅读:
    leetcode
    Eclipse出现&quot;Running Android Lint has encountered a problem&quot;解决方式
    乱码又来捣乱了
    给MySQL增加一个表示例
    给MySQL中某表增加一个新字段,设为主键值为自动增长。
    MySQL数据源在Spring中的配置
    DB2数据源在Spring环境中的配置
    为何你变成了“焦”“郁”“碌(怒)”
    十一有感
    将来的你 一定会感谢 现在努力拼搏奋斗的自己
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/3472310.html
Copyright © 2011-2022 走看看