Universal-Image-Loader源码阅读(31)-FadeInBitmapDisplayer

原创 2016年08月30日 09:51:22

带有闪入动画的displayer。

读完之后,恍然大悟,原来就是在设置了图片之后,给其增加了从淡到浓的动画。


源码:

/**
 * Displays image with "fade in" animation
 *
 * @author Sergey Tarasevich (nostra13[at]gmail[dot]com), Daniel Martí
 * @since 1.6.4
 */
public class FadeInBitmapDisplayer implements BitmapDisplayer {

	private final int durationMillis;

	private final boolean animateFromNetwork;
	private final boolean animateFromDisk;
	private final boolean animateFromMemory;

	/**
	 * @param durationMillis Duration of "fade-in" animation (in milliseconds)
	 */
	public FadeInBitmapDisplayer(int durationMillis) {
		this(durationMillis, true, true, true);
	}

	/**
	 * @param durationMillis     Duration of "fade-in" animation (in milliseconds)
	 * @param animateFromNetwork Whether animation should be played if image is loaded from network
	 * @param animateFromDisk    Whether animation should be played if image is loaded from disk cache
	 * @param animateFromMemory  Whether animation should be played if image is loaded from memory cache
	 */
	public FadeInBitmapDisplayer(int durationMillis, boolean animateFromNetwork, boolean animateFromDisk,
								 boolean animateFromMemory) {
		this.durationMillis = durationMillis;
		this.animateFromNetwork = animateFromNetwork;
		this.animateFromDisk = animateFromDisk;
		this.animateFromMemory = animateFromMemory;
	}

	@Override
	public void display(Bitmap bitmap, ImageAware imageAware, LoadedFrom loadedFrom) {
		imageAware.setImageBitmap(bitmap);

		if ((animateFromNetwork && loadedFrom == LoadedFrom.NETWORK) ||
				(animateFromDisk && loadedFrom == LoadedFrom.DISC_CACHE) ||
				(animateFromMemory && loadedFrom == LoadedFrom.MEMORY_CACHE)) {
			animate(imageAware.getWrappedView(), durationMillis);
		}
	}

	/**
	 * Animates {@link ImageView} with "fade-in" effect
	 *
	 * @param imageView      {@link ImageView} which display image in
	 * @param durationMillis The length of the animation in milliseconds
	 */
	public static void animate(View imageView, int durationMillis) {
		if (imageView != null) {
			AlphaAnimation fadeImage = new AlphaAnimation(0, 1);
			fadeImage.setDuration(durationMillis);
			fadeImage.setInterpolator(new DecelerateInterpolator());
			imageView.startAnimation(fadeImage);
		}
	}
}


Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)

这个图片异步加载并缓存的类已经被很多开发者所使用,是最常用的几个开源库之一,主流的应用,随便反编译几个火的项目,都可以见到它的身影。        可是有的人并不知道如何去使用这库如何进行配置,网上...
  • vipzjyno1
  • vipzjyno1
  • 2014年04月09日 19:38
  • 189896

Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用

大家好!差不多两个来月没有写文章了,前段时间也是在忙换工作的事,准备笔试面试什么的事情,现在新工作找好了,新工作自己也比较满意,唯一遗憾的就是自己要去一个新的城市,新的环境新的开始,希望自己能尽快的适...
  • xiaanming
  • xiaanming
  • 2014年05月28日 08:50
  • 266696

Universal-Image-Loader学习系列(一),下载及简单的使用

1.Android-Universal-Image-Loader的简介 在Android应用开发过程中,加载和处理图片是一种非常普遍的的需求。一个好的图片处理框架对应用的性能和用户的体验有着很大的帮助...
  • jiangxuqaz
  • jiangxuqaz
  • 2015年04月06日 08:24
  • 1190

【Android框架】Android-universal-image-loader源码阅读(一)

图片加载是个非常常见的APP功能,而如今框架横行,在图片加载方面出现了很多图片加载框架:Android-universal-image-loader,pacasso,Fresco,Glide等等图片加...
  • u011669081
  • u011669081
  • 2016年06月09日 10:34
  • 501

Android Universal Image Loader源码详解

  • 2016年10月26日 11:51
  • 834KB
  • 下载

universal-image-loader-1.9.2.jar源码

  • 2015年02月04日 11:51
  • 3.93MB
  • 下载

Universal-Image-Loader的图片加载流程源码分析

概述Universal-Image-Loader是经典的图片加载框架,虽然现在该项目不再维护,但对于初学者依旧是值得学习的开源项目之一,本文就该框架的加载图片流程做简要梳理,希望读者有所收获。 该文...
  • franky814
  • franky814
  • 2016年10月24日 08:12
  • 392

Android-Universal-Image-Loader 源码解读

Universal-Image-Loader是一个强大而又灵活的用于加载、缓存、显示图片的Android库。它提供了大量的配置选项,使用起来非常方便。 基本概念基本使用 首次配置 在第一次使用Im...
  • maplejaw_
  • maplejaw_
  • 2016年06月15日 17:46
  • 4346

Universal-Image-Loader系列2-源码分析

1. 怎么实现大图片的下载,防止OOM前面分析volley,我们知道volley并不适合大文件的下载,因为volley把输入流都写入了byte[]内存,然后写入硬盘缓存,所以容易OOM。 看UIL怎...
  • Mr_LiaBill
  • Mr_LiaBill
  • 2015年12月22日 20:46
  • 470

(源码分析)Android-Universal-Image-Loader (图片异步加载缓存库)对Bitmap的优化处理

通过前两篇,我们了解了 UIL的使用配置,UIL将服务器上的一张图片保存到本地,加载到内存的过程,以及UIL对DiscCache和MemoryCache的策略,但是还有一部分比较重要,因为它是我们的开...
  • u011733020
  • u011733020
  • 2016年04月07日 19:51
  • 8699
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Universal-Image-Loader源码阅读(31)-FadeInBitmapDisplayer
举报原因:
原因补充:

(最多只允许输入30个字)