Xutils之BitmapUtils使用
随时随地技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(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使用相关推荐
- 3. Android框架和工具之 xUtils(BitmapUtils)
1. BitmapUtils 作用: 加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象: 支持加载网络图片和本地图片: 内存管理使用 ...
- Android 高级面试
一. Android 性能优化 1. 如何对 Android 应用进行性能分析 2. 什么情况下会导致内存泄露 3. 如何避免 OOM 异常 4. Android 中如何捕获未捕获的异常 5. ANR ...
- Android面试题【高级工程师版】
Android 高级(★★★) 一. Android 性能优化(11.9 更新) 1. 如何对 Android 应用进行性能分析 2. 什么情况下会导致内存泄露 3. 如何避免 OOM 异常 4. A ...
- 谈下最近做的一个手机app,学习到的东西挺多的哦
最近,我做了一个头条的应用,感觉挺有成就的,不过,以我现在的能力,要开发一些大型的项目,还需要不断的学习和融入到团队才行哦,不然,以后真的是做不来哦. 手机编程的工作量也是很大的哦,不过,有思路之后, ...
- 从相机相册获取图片裁剪后用于评论晒图或更换背景图
这是我人生中写的第一篇博客,是否要纪念一下这一刻(2016.09.01 16:52).其实关于写博客,老早就有这种写法,首先觉得他能够帮我总结我学到的和用过的技术,其次还能帮助那些和我有一样需求的人, ...
- android 面试 android 知识点 提高篇
来源:以前网上买的资料+面试遇到的+百度到的 ____本篇为提高篇 一.Android性能优化 1.如何对Android应用进行性能分析 一款App流畅与否安装在自己的真机里,玩几天就能有个大概的感性 ...
- Android 高级工程师面试(一)
java基础知识准备: java基础篇,这是我自己整理好的: (1)ArrayList,Vector,LinkedList的区别 (2)设计模式的分类 (3)算法 (4)深入探索Java工作原理:JV ...
- android All
Activity Activity的概念 一个Activity通常对应一个能与用户交互的UI(用户界面) Activity分类 FragmentActivity ListActivity TabAct ...
- 华为北京研究所第一届黑客马拉松比赛-基于Android防止儿童走失
简介 这个项目是在2016年华为研究所举办的第一届黑客马拉松比赛时开发的项目,这个项目是借鉴之前写Android人脸对比,想出一个关于防止儿童走失的想法,然后增加浏览历史和定位失踪儿童以及推送附近人的 ...
最新文章
- 巧用伪元素和伪类让我们的html结构更清晰合理
- Android之sqlite常见用法以及取最新多少条数据(包括删除和不删除之外的数据)
- Oracle PL/SQL进阶
- FPGA跨时钟域处理方法FIFO
- 计算机和HMI设备通信之程序上下载
- 还原python源码_python 的混淆后的代码可以还原么
- 项目owner看这里,MaxCompute全表扫描新功能,给你“失误”的机会
- Spring框架入门程序:获取Bean的三种方式
- spotify电脑下载歌曲_我来简单说一下Apple Music和Spotify的下载方法
- 复盘:图像饱和度计算公式和图像信噪(PSNR)比计算公式
- 苹果设邮箱的126服务器,Mac系统中的邮箱创建126邮箱帐户的方法
- 修炼一名程序员的职业水准(林庆忠__署名原创)
- python 存储图片_使用python存储网页上的图片实例
- java super构造函数_Java为什么this()和super()必须是构造函数中的第一条语句?...
- 关联规则与强关联规则计算
- 调教ChatGPT提取公众号封面
- osTicket中文,osTicket汉化
- pip安装包下载地址
- VR行业发展的前景和现状?
- 生物信息学软件_生物信息学视频教程大赛
热门文章
- 删除win10自带的IE浏览器需要来自TrustedInstaller的权限
- [plugin:commonjs] Unexpected ‘/‘. Escaping special characters with \ may help.错误分析
- 双碳目标路径/方案研究,气体排放核算方法(一)
- 每天进步一点点~注解篇
- 数据的万有引力-帆软数智大会
- AJAX的完整介绍-江阳宏海
- 名画222 明代《画选36幅》
- 书评Python神经网络编程——相当友好的入门书
- 分类预测 | MATLAB实现CNN卷积神经网络多特征分类预测
- 卷积神经网络CNN 中用1*1 卷积过滤器的作用及优势