Imageloarder
首先需要加载jar包,和在配置文件中配置
Mainactivity.java
package com.baidu.day13_2imageloader; import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.FailReason;
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener; import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.view.Menu;
import android.view.View;
import android.widget.ImageView; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String uri="http://a0.att.hudong.com/15/08/300218769736132194086202411_950.jpg";
//加载xml文件
setContentView(R.layout.activity_main);
//找到所需控件
ImageView iv=(ImageView) findViewById(R.id.image);
//通过网络加载图片
ImageLoader.getInstance().displayImage(uri, iv, new ImageLoadingListener() { @Override
public void onLoadingStarted(String arg0, View arg1) {
// TODO Auto-generated method stub } @Override
public void onLoadingFailed(String arg0, View arg1, FailReason arg2) {
// TODO Auto-generated method stub } @Override
public void onLoadingComplete(String arg0, View arg1, Bitmap arg2) {
// TODO Auto-generated method stub } @Override
public void onLoadingCancelled(String arg0, View arg1) {
// TODO Auto-generated method stub }
});
}
}
Application
package com.baidu.day13_2imageloader; import java.io.File;
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.cache.memory.impl.LruMemoryCache;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer; import android.app.Application;
import android.os.Environment; public class MyImageLoader extends Application { // 重写方法
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
String sdpath = Environment.getDownloadCacheDirectory().getPath();
ImageLoaderConfiguration ilc = new ImageLoaderConfiguration.Builder(
this)
// 缓存文件的最大长宽
.memoryCacheExtraOptions(200, 300)
// 本地缓存的详细信息
.diskCacheExtraOptions(100, 200, null)
// 线程池内加载的数量
.threadPoolSize(3)
// 任务处理的顺序
.tasksProcessingOrder(QueueProcessingType.FIFO)
// 设置内存缓存大小
.memoryCache(new LruMemoryCache(2 * 1024 * 1024))
// 设置缓存路径
.diskCache(
new UnlimitedDiscCache(new File(sdpath + "1407A/image")))
// 不使用默认的
.defaultDisplayImageOptions(getoptions())
// 设置加密模式
.diskCacheFileNameGenerator(new Md5FileNameGenerator())
.writeDebugLogs().build();
// 初始化
ImageLoader.getInstance().init(ilc);
} public static DisplayImageOptions getoptions() {
// 自定义配置信息
DisplayImageOptions dio = new DisplayImageOptions.Builder()
// 图片下载期间现实的图片
.showImageOnLoading(R.drawable.ic_launcher)
// 图片为空,发省错误显示的图片
.showImageForEmptyUri(R.drawable.ic_launcher)
// 图片解码构成中发生的错误
.showImageOnFail(R.drawable.ic_launcher)
// 图片加载前是否重置。复位
.resetViewBeforeLoading(false)
// 下载前的延迟时间
.delayBeforeLoading(3000)
// 下载图片是否报存内存卡
.cacheInMemory(false)
// 下载图片是否缓存在sd卡
.cacheOnDisk(false)
// 设置图片的显示比例
.imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2)
// 设置图片的圆角半径
.displayer(new RoundedBitmapDisplayer(175))
// 设置图片的透明度
// .displayer(new FadeInBitmapDisplayer(3000))
.build(); return dio;
}
}
Imageloarder的更多相关文章
随机推荐
- SQL Server 2008 R2[ALTER]列属性修改
1:向表中添加字段 Alter table [表名] add [列名] 类型 2: 删除字段 Alter table [表名] drop column [列名] 3: 修改表中字段类型 (可以修 ...
- Swift-11-委托模式
委托是一种设计模式,它允许类或者结构体将一些需要它们负责的功能交由(或委托)给其他的类型的实例.委托模式很简单:定义协议来封装那些需要被委托的函数和方法,使其遵循者拥有这些被委托的函数和方法.委托模式 ...
- python 内容查询小助手
点我,点我,python os.path 模块: 点我,点我,Python logging模块详解 点我,点我,python两个 list 获取交集,并集,差集的方法 点我,点我,python,my ...
- form表单类标签汇总
<form action="form_action.asp" method="get"> First name: <input type=&q ...
- rm 命令(转)
昨天学习了创建文件和目录的命令mkdir ,今天学习一下linux中删除文件和目录的命令: rm命令.rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所 ...
- 数据库字段Pointer的操作方法
多数情况下要要是Pointer字段实现了类似传统关系数据库的关联操作,联合查询能够减少提交次数,今天带来几种过滤器的使用方法: 首先确定2个Class,也就是表: A表:user表,用户个人信息,字段 ...
- VMware (威睿) 虚拟化产品简介
VMware vSphere 是VMware(威睿)的一个虚拟化产品,VMware vSphere 是业界领先且最可靠的虚拟化平台.vSphere将应用程序和操作系统从底层硬件分离出来,从而简化了 I ...
- MFC和Direct3D9一起使用
第一步:新建MFC单文档项目,向导如下: 第二步:添加引用,在项目属性的VC++目录中修改Include和lib文件夹. 第三步:在stdafx.h文件Include部分的最后添加如下引用. #inc ...
- javascript 内部函数的定义及调用
内部函数:定义在另一个函数中的函数 例如: <script> function outer(){ function inner(){ } } </script> inner() ...
- mantis 安装问题
1. 邮件 修改 config_defaults_inc.php $g_administrator_email = 'mantis@pooy.net'; $g_webmaster_email = 'm ...