补间动画详解二 渐变动画AlphaAnimation
来源:互联网 发布:js中match函数 编辑:程序博客网 时间:2024/05/01 12:34
AlphaAnimation通过修改alpha属性,改变View的透明度,达到渐变的动画效果。
AlphaAnimation类官方文档:
https://developer.android.com/reference/android/view/animation/AlphaAnimation.html
关于父类Animation的详解可参考文章:
http://blog.csdn.net/ruancoder/article/details/52347243
一、AlphaAnimation的使用
(1).使用xml文件创建AlphaAnimation
(2).使用java代码创建AlphaAnimation
二、AlphaAnimation的分析
AlphaAnimation继承自Animation,除了拥有父类的成员变量外,添加了mFromAlpha和mToAlpha。取值范围0.0~1.0,0.0是完全透明,1.0完全不透明。
当使用java代码的方式创建AlphaAnimation时,使用如下构造方法,分别传入fromAlpha和toAlpha。
当使用xml文件的方式创建AlphaAnimation时,由AnimationUtils工具类加载动画文件,使用如下构造方法,通过xml中的属性android:fromAlpha和android:toAlpha来获取属性值。
AlphaAnimation的核心是重写父类Animation的applyTransformation()方法。
在动画从开始倒结束的过程中,参数interpolatedTime从0.0递增到1.0,通过计算mFromAlpha + ((mToAlpha - mFromAlpha) * interpolatedTime)的值,来不断的修改View的透明度,达到渐变动画的效果。
AlphaAnimation类官方文档:
https://developer.android.com/reference/android/view/animation/AlphaAnimation.html
关于父类Animation的详解可参考文章:
http://blog.csdn.net/ruancoder/article/details/52347243
一、AlphaAnimation的使用
(1).使用xml文件创建AlphaAnimation
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" android:duration="3000"> <alpha android:fromAlpha="0.0" android:toAlpha="1.0"/></set>
AlphaAnimation animation = AnimationUtils.loadAnimation(context, R.anim.alpha);view.startAnimation(animation);
(2).使用java代码创建AlphaAnimation
AlphaAnimation animation = new AlphaAnimation(0.0f, 1.0f);animation.setDuration(3000);view.startAnimation(animation);
二、AlphaAnimation的分析
AlphaAnimation继承自Animation,除了拥有父类的成员变量外,添加了mFromAlpha和mToAlpha。取值范围0.0~1.0,0.0是完全透明,1.0完全不透明。
public class AlphaAnimation extends Animation { /** 动画开始时的透明度,取值范围0.0~1.0 */ private float mFromAlpha; /** 动画结束时的透明度,取值范围0.0~1.0 */ private float mToAlpha;}
当使用java代码的方式创建AlphaAnimation时,使用如下构造方法,分别传入fromAlpha和toAlpha。
public AlphaAnimation(float fromAlpha, float toAlpha) { mFromAlpha = fromAlpha; mToAlpha = toAlpha;}
当使用xml文件的方式创建AlphaAnimation时,由AnimationUtils工具类加载动画文件,使用如下构造方法,通过xml中的属性android:fromAlpha和android:toAlpha来获取属性值。
public AlphaAnimation(Context context, AttributeSet attrs) { super(context, attrs); TypedArray a = context.obtainStyledAttributes(attrs, com.android.internal.R.styleable.AlphaAnimation); mFromAlpha = a.getFloat(com.android.internal.R.styleable.AlphaAnimation_fromAlpha, 1.0f); mToAlpha = a.getFloat(com.android.internal.R.styleable.AlphaAnimation_toAlpha, 1.0f); a.recycle();}
AlphaAnimation的核心是重写父类Animation的applyTransformation()方法。
在动画从开始倒结束的过程中,参数interpolatedTime从0.0递增到1.0,通过计算mFromAlpha + ((mToAlpha - mFromAlpha) * interpolatedTime)的值,来不断的修改View的透明度,达到渐变动画的效果。
@Overrideprotected void applyTransformation(float interpolatedTime, Transformation t) { final float alpha = mFromAlpha; t.setAlpha(alpha + ((mToAlpha - alpha) * interpolatedTime));}
0 0
- 补间动画详解二 渐变动画AlphaAnimation
- AlphaAnimation渐变动画Demo
- Android 动画 - AlphaAnimation渐变动画
- Android补间动画之ScaleAnimation、AlphaAnimation、RotateAnimation、TranslateAnimation、AnimationSet详解
- 补间动画TranslateAnimation、ScaleAnimation、AlphaAnimation、RotateAnimation、AnimationSet
- android 动画 补间动画,渐变动画 Tween Animation
- Android动画详解(二) 补间动画
- Android 动画使用详解(二) 补间动画
- 【Android动画九章】-AlphaAnimation(渐变动画)
- Android动画 帧动画、补间动画、属性动画 (二)
- android动画(二)补间动画
- Android 动画之AlphaAnimation应用详解
- Android 动画之AlphaAnimation应用详解
- Android 动画之AlphaAnimation应用详解
- Android 动画之AlphaAnimation应用详解
- Android 动画之AlphaAnimation应用详解
- Android 动画之AlphaAnimation应用详解
- Android动画 之 Tween Animation(AlphaAnimation 透明度渐变)
- Java多线程同步机制(synchronized)
- git Patch的方法
- Bellman-Ford算法队列优化
- 理解RESTful架构
- kettle异常
- 补间动画详解二 渐变动画AlphaAnimation
- Python黑帽编程 3.2 ARP监控
- Android学习笔记(网络篇)
- Android存储五大方式
- 3.6
- 阿里巴巴dubbo框架入门
- jedis笔记
- IE8异步上传附件(主要代码)
- 运算符重载