首先需要加载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的更多相关文章

随机推荐

  1. Selenium2学习-029-WebUI自动化实战实例-027-判断元素是否存在

    非常简单的源码,敬请各位小主参阅.若有不足之处,敬请大神指正,不胜感激! /** * Verify the element exist or not * * @author Aaron.ffp * @ ...

  2. Java学习-003-JDK、JRE、JVM简介

    此文主要对 JDK.JRE.JVM进行简单的介绍,给各位亲们一个参考.若有不足之处,敬请各位大神指正,不胜感激! 一.基本概念 JDK(Java Development Kit:Java 开发工具包) ...

  3. 《JAVA NIO》第二章缓冲区

    1.缓冲区的构成 2.缓冲区的类图 3.ByteBuffer ByteBuffer是直接和Channel打交道的,准确的是直接字节缓冲. 问题:直接字节缓冲区和内存映射的关系 4.ByteOrder ...

  4. 如何安装sass

    1.安装ruby 2. 运行ruby时输入 gem install 及sass安装文件路径. sass安装文件见文件.

  5. iOS:创建Siri 功能

    前奏: iOS 10 出来之后,我们开发者也可以使用类似Siri的功能.它是使用Siri里面的一个语音识别框架Speech framework来处理siri的.现在, 让我们来看看 一些 主要的代码吧 ...

  6. 官方教程:教你用好微信JS-SDK接口

    微信开放JS-SDK接口,开发者和行业用户可谓是欢欣鼓舞.奔走相告,目测将激起一大波第三方开发商的创新产品!真真是H5开发者的利好!但也有用户表示,还不了解JS-SDK接口到底是啥,究竟怎么用.现在, ...

  7. 框架基础——全面解析Java注解

    为什么学习注解? 学习注解有什么好处? 学完能做什么? 答:1. 能够读懂别人写的代码,特别是框架相关的代码: 2. 让编程更加简洁,代码更加清晰: 3. 让别人高看一眼. spring.mybati ...

  8. WPF 蒙层罩,正在加载

    参考园子里的一篇文章,比较好用.可以直接用,可以自己改. 动画效果: 容器的触发器,旋转容器: 属性配置:使用依赖属性,并且在xaml中写绑定.

  9. lua cURL使用笔记

    cURL cURL是 URL命令行工具, 即 command URL, 可以通过命令行模拟各种应用协议的发包, 包括FTP HTTP HTTPS, 官方网站 http://curl.haxx.se/ ...

  10. mac gcc 编译错误 基础问题

    mac gcc  Undefined symbols for architecture x86_64 "std::__1: // Undefined symbols for architec ...