学习Universal-Image-Loader类库

本文详细介绍了Android-Universal-Image-Loader这一开源组件,它能够实现异步图像加载、缓存及显示等功能,并提供了丰富的配置选项。文中还包含了具体的配置示例及关键参数解释。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

demo在附件
写道
来自互联网资料:
Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加 载,缓存和显示。
特点
多线程的图像加载的可能性的宽调谐对ImageLoader的配置(线程池的大小,HTTP选项,内存和光盘高速缓存,显示图像,以及其他)
的图像的可能性中的缓存存储器和/或设备的文件器系统(或SD卡)可以监听加载过程中
可自定义每个显示的图像调用分隔的选项
Widget支持
Android 2.0上支持

使用方法
缓存不是默认启用
1、DisplayImageOptions的配置
DisplayImageOptions imageOptions = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.ic_launcher)// 加载时显示的默认图片
.showImageForEmptyUri(R.drawable.ic_empty)// 加载url=null时显示的默认图片
.showImageOnFail(R.drawable.ic_error) // 加载出错时显示错误的默认图片
.cacheInMemory(true)//开启内存缓存
.cacheOnDisc(true) //开启硬盘缓存
.bitmapConfig(Bitmap.Config.RGB_565) //图片色值配置
.build();

2、ImageLoaderConfiguration的配置

// 自定义缓存路径
File cacheDir = StorageUtils.getOwnCacheDirectory(getApplicationContext(), mCache);
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.memoryCacheExtraOptions(480, 800) // default = device screen dimensions
.discCacheExtraOptions(480, 800, CompressFormat.JPEG, 85, null)
.taskExecutor(AsyncTask.THREAD_POOL_EXECUTOR)//3.0才支持
.taskExecutorForCachedImages(AsyncTask.THREAD_POOL_EXECUTOR)//3.0才支持
.threadPoolSize(Thread.NORM_PRIORITY)// default 3
.threadPriority(Thread.NORM_PRIORITY - 1)// default 线程优先级别
.tasksProcessingOrder(QueueProcessingType.FIFO)// default
.denyCacheImageMultipleSizesInMemory()
.memoryCache(new LruMemoryCache(2 * 1024 * 1024)) // 2M
.memoryCacheSize(2 * 1024 * 1024)// 2M
// .discCache(new UnlimitedDiscCache(cacheDir)) // default UnlimitedDiscCache ,HashCodeFileNameGenerator
.discCache(new UnlimitedDiscCache(cacheDir,new Md5FileNameGenerator())) // default UnlimitedDiscCache
.discCacheSize(50 * 1024 * 1024) // 本地缓存大小50M
.discCacheFileCount(100) // 文件数量
// .discCacheFileNameGenerator(new HashCodeFileNameGenerator())// default
// .discCacheFileNameGenerator(new Md5FileNameGenerator()) // 文件命名器
.imageDownloader(new BaseImageDownloader(getApplicationContext())) // default
.imageDecoder(new BaseImageDecoder(true)) // default
.defaultDisplayImageOptions(imageOptions) // default DisplayImageOptions.createSimple()
.writeDebugLogs()
.build();


ImageLoader mImageLoader = ImageLoader.getInstance();
mImageLoader.init(config);


3、部分参数解释:
//设置图片在下载期间显示的图片
showStubImage(R.drawable.ic_launcher)

//设置图片Uri为空或是错误的时候显示的图片
showImageForEmptyUri(R.drawable.ic_empty)

//设置图片加载/解码过程中错误时候显示的图片
showImageOnFail(R.drawable.ic_error)

//设置图片在下载前是否重置,复位
resetViewBeforeLoading()

//设置下载的图片是否缓存在内存中
cacheInMemory()

//设置下载的图片是否缓存在SD卡中
cacheOnDisc()

//设置图片的解码类型
bitmapConfig(Bitmap.Config.RGB_565)

//设置图片的解码配置
decodingOptions(android.graphics.BitmapFactory.Options decodingOptions)

//设置图片下载前的延迟
delayBeforeLoading(int delayInMillis)

//设置额外的内容给ImageDownloader
extraForDownloader(Object extra)

//设置图片加入缓存前,对bitmap进行设置
preProcessor(BitmapProcessor preProcessor)

//设置显示前的图片,显示后这个图片一直保留在缓存中
postProcessor(BitmapProcessor postProcessor)

//设置图片以如何的编码方式显示
imageScaleType(ImageScaleType imageScaleType)


/**
* 设置图片的显示方式
* @param displayer
*/
displayer(BitmapDisplayer displayer)
displayer:
RoundedBitmapDisplayer(int roundPixels)设置圆角图片
FakeBitmapDisplayer()这个类什么都没做
FadeInBitmapDisplayer(int durationMillis)设置图片渐显的时间
    SimpleBitmapDisplayer()正常显示一张图片  


/**
* 图片的缩放方式
* @param imageScaleType
*/
imageScaleType(ImageScaleType imageScaleType)
imageScaleType:
EXACTLY :图像将完全按比例缩小的目标大小
EXACTLY_STRETCHED:图片会缩放到目标大小完全
IN_SAMPLE_INT:图像将被二次采样的整数倍
IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小
NONE:图片不会调整

4、权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

 

资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 在本文中,我们将探讨如何通过 Vue.js 实现一个带有动画效果的“回到顶部”功能。Vue.js 是一款用于构建用户界面的流行 JavaScript 框架,其组件化和响应式设计让实现这种交互功能变得十分便捷。 首先,我们来分析 HTML 代码。在这个示例中,存在一个 ID 为 back-to-top 的 div 元素,其中包含两个 span 标签,分别显示“回到”和“顶部”文字。该 div 元素绑定了 Vue.js 的 @click 事件处理器 backToTop,用于处理点击事件,同时还绑定了 v-show 指令来控制按钮的显示与隐藏。v-cloak 指令的作用是在 Vue 实例渲染完成之前隐藏该元素,避免出现闪烁现象。 CSS 部分(backTop.css)主要负责样式设计。它首先清除了一些默认的边距和填充,对 html 和 body 进行了全屏布局,并设置了相对定位。.back-to-top 类则定义了“回到顶部”按钮的样式,包括其位置、圆角、阴影、填充以及悬停时背景颜色的变化。此外,与 v-cloak 相关的 CSS 确保在 Vue 实例加载过程中隐藏该元素。每个 .page 类代表一个页面,每个页面的高度设置为 400px,用于模拟多页面的滚动效果。 接下来是 JavaScript 部分(backTop.js)。在这里,我们创建了一个 Vue 实例。实例的 el 属性指定 Vue 将挂载到的 DOM 元素(#back-to-top)。data 对象中包含三个属性:backTopShow 用于控制按钮的显示状态;backTopAllow 用于防止用户快速连续点击;backSeconds 定义了回到顶部所需的时间;showPx 则规定了滚动多少像素后显示“回到顶部”按钮。 在 V
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值