android Animation 动画
来源:互联网 发布:香蕉网络免费频道 编辑:程序博客网 时间:2024/04/29 20:05
android 中 动画效果自带的主要是四种,透明度改变动画,平移动画,放缩动画,旋转动画。当然我们一般需要的动画效果都是 把这几个动画的某几个一起使用以达到我们所需的效果。
- Animation animation = new AlphaAnimation(0,1); //AlphaAnimation 控制渐变透明的动画效果 渐变从0到1
- Animation animation =new ScaleAnimation(5,0,2,0); //ScaleAnimation 控制尺寸伸缩的动画效果 X从5到0,Y从2到0
- Animation animation = new RotateAnimation(40,10); //RotateAnimation 控制画面角度变化的动画效果 从40度到10度
Animation animation = new TranslateAnimation(1, 20, 10, 50); //ScaleAnimation 控制尺寸伸缩的动画效果 X从1到20 Y从10到50
以上的四种调用方式是比较常用的,当然这四个类还有别的参数创建方式。具体如下:
以上的构造方法中的一些参数的意义如下:
fromDegrees 开始时的角度
toDegrees 结束时的角度
pivotXValue 动画相对于物件的X坐标的开始位置
pivotYValue 动画相对于物件的Y坐标的开始位置
pivotXType 动画在X轴相对于物件位置类型
pivotYType 动画在Y轴相对于物件位置类型
fromX 动画起始时 X坐标上的伸缩尺寸
toX 动画结束时 X坐标上的伸缩尺寸
相对于物件位置的类型
有三种默认值:
RELATIVE_TO_PARENT 相对于父控件
RELATIVE_TO_SELF 相对于符自己
RELATIVE_TO_ABSOLUTE 绝对坐标
动画组合的方式
动画的组合方式一 利用 AnimationSet
利用这个动画集合这个类来把几个动画效果放在一个集合中,然后把这个动画集赋值给某个组件(动画集里的动画同时进行),
如:
AnimationSet set = new AnimationSet(false); Animation animation1 = new AlphaAnimation(0,1); animation1.setDuration(500); //动画时间毫秒数 set.addAnimation(animation1); //加入动画集合 animation2 = new RotateAnimation(30,10); animation2.setDuration(300); //动画时间毫秒数 set.addAnimation(animation2); //加入动画集合 view.startAnimation(set);
动画的组合方式 二 利用自定义文件 anim
创建 动画 welcome_fade_out.xml (文件里的动画同时进行)
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <scale //伸缩动画 android:fillAfter="false" android:fromXScale="1.1" android:fromYScale="1.1" android:interpolator="@android:anim/decelerate_interpolator" android:pivotX="50.0%" android:pivotY="50.0%" android:toXScale="1.1" android:toYScale="1.1" /> <alpha //透明度动画 xmlns:android="http://schemas.android.com/apk/res/android" android:fromAlpha="1.0" android:toAlpha="0.0" /></set>
在代码中调用动画,上面的动画是由 透明度动画和 伸缩动画组合的
private Animation mFadeOut; mFadeOut = AnimationUtils.loadAnimation(this,R.anim.welcome_fade_out); mFadeOut.setDuration(1000); view.startAnimation(mFadeOut);
动画的组合方式 三 利用各个动画监听
每个动画其实都是可以监听的,可以监听在动画结束的时候,启动另一个动画。(动画可以有顺序的执行)
mFadeOut.setAnimationListener(new Animation.AnimationListener() { public void onAnimationStart(Animation animation) { } public void onAnimationRepeat(Animation animation) { } public void onAnimationEnd(Animation animation) { view.startAnimation(mFadeIn); } });
1 0
- Android动画-Android Animation
- 【Android】【动画】Android 动画 (Animation)
- Android 动画效果 --Animation
- Android 动画效果 --Animation
- Android 动画效果 --Animation
- Android Animation动画效果
- android Animation 动画效果
- Android的animation(动画)
- Android animation动画
- Android动画--Frame Animation
- Android Property Animation动画
- Android Animation动画
- Android动画(Animation)
- android Animation 动画效果
- Android 动画效果animation
- Android Animation动画体系结构
- Android animation 定义动画
- android animation动画
- 【小镇的技术天梯】C语言,冒泡、快速、希尔、选择排序
- 触摸java常量池
- Python debug——TypeError: unhashable type(list/set/dict)
- 架构的本质
- oc 和 swift 互相调用
- android Animation 动画
- 怎样在一个数据库中访问另一个数据库里面的表
- java中的守护进程
- 设配器模式不止是补救,有时更像是一个创造者
- spring4声明式事务--01注解方式
- Objective-C里调用Swift
- Halcon算子--区域特征
- Powershell之MOF后门
- spring4声明式事务—02 xml配置方式