随时随地技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)

转自:http://blog.csdn.net/rain_butterfly/article/details/37812371

 private void loadBitmap(){BitmapUtils bitmapUtils = new BitmapUtils(this);// 加载网络图片,以下都可以配置BitmapDisplayConfig,BitmapLoadCallBack
//      bitmapUtils.display(imgView, "http://bbs.lidroid.com/static/image/common/logo.png");// 加载本地图片(路径以/开头, 绝对路径)bitmapUtils.display(imgView, Environment.getExternalStorageDirectory()+"/ic_launcher.png");
//
//      // 加载assets中的图片(路径以assets开头)
//      bitmapUtils.display(imgView, "assets/img/wallpaper.jpg");// 使用ListView等容器展示图片时可通过PauseOnScrollListener控制滑动和快速滑动过程中时候暂停加载图片
//      listView.setOnScrollListener(new PauseOnScrollListener(bitmapUtils, false, true));
//      listView.setOnScrollListener(new PauseOnScrollListener(bitmapUtils, false, true, customListener));}

自定义加载图片类,设置了默认图片、加载失败时的图片和压缩类型以及动画效果:

package com.home.testxutils;import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.TransitionDrawable;
import android.widget.ImageView;import com.lidroid.xutils.BitmapUtils;
import com.lidroid.xutils.bitmap.BitmapDisplayConfig;
import com.lidroid.xutils.bitmap.callback.BitmapLoadFrom;
import com.lidroid.xutils.bitmap.callback.DefaultBitmapLoadCallBack;public class XUtilsImageLoader {//框架里面设置了缓存和异步操作,不用单独设置线程池和缓存机制(也可以自定义缓存路径)  private BitmapUtils bitmapUtils;  private Context mContext;  public XUtilsImageLoader(Context context) {  this.mContext = context;  bitmapUtils = new BitmapUtils(mContext);  bitmapUtils.configDefaultLoadingImage(R.drawable.defaultimg);//默认背景图片  bitmapUtils.configDefaultLoadFailedImage(R.drawable.defaultimg);//加载失败图片  bitmapUtils.configDefaultBitmapConfig(Bitmap.Config.RGB_565);//设置图片压缩类型  }  /** *  * @author sunglasses * @category 图片回调函数 */  public class CustomBitmapLoadCallBack extends  DefaultBitmapLoadCallBack<ImageView> {  @Override  public void onLoading(ImageView container, String uri,  BitmapDisplayConfig config, long total, long current) {  }  @Override  public void onLoadCompleted(ImageView container, String uri,  Bitmap bitmap, BitmapDisplayConfig config, BitmapLoadFrom from) {  // super.onLoadCompleted(container, uri, bitmap, config, from);  fadeInDisplay(container, bitmap);  }  @Override  public void onLoadFailed(ImageView container, String uri,  Drawable drawable) {  }  }  private static final ColorDrawable TRANSPARENT_DRAWABLE = new ColorDrawable(  android.R.color.transparent);  /** * @author sunglasses * @category 图片加载效果 * @param imageView * @param bitmap */  private void fadeInDisplay(ImageView imageView, Bitmap bitmap) {//目前流行的渐变效果  final TransitionDrawable transitionDrawable = new TransitionDrawable(  new Drawable[] { TRANSPARENT_DRAWABLE,  new BitmapDrawable(imageView.getResources(), bitmap) });  imageView.setImageDrawable(transitionDrawable);  transitionDrawable.startTransition(500);  }  public void display(ImageView container,String url){//外部接口函数  bitmapUtils.display(container, url,new CustomBitmapLoadCallBack());  }
}  

Xutils之BitmapUtils使用相关推荐

  1. 3. Android框架和工具之 xUtils(BitmapUtils)

    1. BitmapUtils 作用: 加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象: 支持加载网络图片和本地图片: 内存管理使用 ...

  2. Android 高级面试

    一. Android 性能优化 1. 如何对 Android 应用进行性能分析 2. 什么情况下会导致内存泄露 3. 如何避免 OOM 异常 4. Android 中如何捕获未捕获的异常 5. ANR ...

  3. Android面试题【高级工程师版】

    Android 高级(★★★) 一. Android 性能优化(11.9 更新) 1. 如何对 Android 应用进行性能分析 2. 什么情况下会导致内存泄露 3. 如何避免 OOM 异常 4. A ...

  4. 谈下最近做的一个手机app,学习到的东西挺多的哦

    最近,我做了一个头条的应用,感觉挺有成就的,不过,以我现在的能力,要开发一些大型的项目,还需要不断的学习和融入到团队才行哦,不然,以后真的是做不来哦. 手机编程的工作量也是很大的哦,不过,有思路之后, ...

  5. 从相机相册获取图片裁剪后用于评论晒图或更换背景图

    这是我人生中写的第一篇博客,是否要纪念一下这一刻(2016.09.01 16:52).其实关于写博客,老早就有这种写法,首先觉得他能够帮我总结我学到的和用过的技术,其次还能帮助那些和我有一样需求的人, ...

  6. android 面试 android 知识点 提高篇

    来源:以前网上买的资料+面试遇到的+百度到的 ____本篇为提高篇 一.Android性能优化 1.如何对Android应用进行性能分析 一款App流畅与否安装在自己的真机里,玩几天就能有个大概的感性 ...

  7. Android 高级工程师面试(一)

    java基础知识准备: java基础篇,这是我自己整理好的: (1)ArrayList,Vector,LinkedList的区别 (2)设计模式的分类 (3)算法 (4)深入探索Java工作原理:JV ...

  8. android All

    Activity Activity的概念 一个Activity通常对应一个能与用户交互的UI(用户界面) Activity分类 FragmentActivity ListActivity TabAct ...

  9. 华为北京研究所第一届黑客马拉松比赛-基于Android防止儿童走失

    简介 这个项目是在2016年华为研究所举办的第一届黑客马拉松比赛时开发的项目,这个项目是借鉴之前写Android人脸对比,想出一个关于防止儿童走失的想法,然后增加浏览历史和定位失踪儿童以及推送附近人的 ...

最新文章

  1. 巧用伪元素和伪类让我们的html结构更清晰合理
  2. Android之sqlite常见用法以及取最新多少条数据(包括删除和不删除之外的数据)
  3. Oracle PL/SQL进阶
  4. FPGA跨时钟域处理方法FIFO
  5. 计算机和HMI设备通信之程序上下载
  6. 还原python源码_python 的混淆后的代码可以还原么
  7. 项目owner看这里,MaxCompute全表扫描新功能,给你“失误”的机会
  8. Spring框架入门程序:获取Bean的三种方式
  9. spotify电脑下载歌曲_我来简单说一下Apple Music和Spotify的下载方法
  10. 复盘:图像饱和度计算公式和图像信噪(PSNR)比计算公式
  11. 苹果设邮箱的126服务器,Mac系统中的邮箱创建126邮箱帐户的方法
  12. 修炼一名程序员的职业水准(林庆忠__署名原创)
  13. python 存储图片_使用python存储网页上的图片实例
  14. java super构造函数_Java为什么this()和super()必须是构造函数中的第一条语句?...
  15. 关联规则与强关联规则计算
  16. 调教ChatGPT提取公众号封面
  17. osTicket中文,osTicket汉化
  18. pip安装包下载地址
  19. VR行业发展的前景和现状?
  20. 生物信息学软件_生物信息学视频教程大赛

热门文章

  1. 删除win10自带的IE浏览器需要来自TrustedInstaller的权限
  2. [plugin:commonjs] Unexpected ‘/‘. Escaping special characters with \ may help.错误分析
  3. 双碳目标路径/方案研究,气体排放核算方法(一)
  4. 每天进步一点点~注解篇
  5. 数据的万有引力-帆软数智大会
  6. AJAX的完整介绍-江阳宏海
  7. 名画222 明代《画选36幅》
  8. 书评Python神经网络编程——相当友好的入门书
  9. 分类预测 | MATLAB实现CNN卷积神经网络多特征分类预测
  10. 卷积神经网络CNN 中用1*1 卷积过滤器的作用及优势