您的位置:首页 > 移动开发 > Android开发

浅谈Android动画(变换动画)

2017-04-02 12:59 113 查看
变换动画

(TweenAnimation):

种类:

Alpha渐变透明度动画

Scale渐变尺寸动画

Translate位置移动动画

Rotate旋转动画

<2>共同属性:

Duration:动画持续时间(ms)

fillAfter 设置为true,动画转化在动画结束后被应用

fillBefore 设置为true,动画转化在动画开始前被应用

interpolator 动画插入器(加速/减速)

repeatCount 重复次数

repateMode 顺序重复/倒序重复

startOffset 动画之间的时间间隔

<3>实现方式:

配置文件(res/anim)- alpha,scale,translate,rotate(适用于固定场合)

首先声明Animation

Animation loadAnimation;

image是一个imageview,原理上所有的view度可以加动画

动画资源放在res/anim资源下

透明动画

alpha.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

<alpha

android:duration="1000"
//duration:动画持续时间
android:fromAlpha="0.1"
//fromAlpha:动画起始透明度
android:toAlpha="1.0"
//toAlpha:动画最终透明度
//0.0表示完全透明 1.0表示完全不透明 >
</alpha>

</set>


调用方法

loadAnimation = AnimationUtils.loadAnimation(this, R.anim.alpha);

image.startAnimation(loadAnimation);


缩放动画

scale.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

<scale
android:duration="2000"
android:fillAfter="false"
//fillAfte动画完成后是否保存状态
android:fromXScale="0.0"
android:fromYScale="0.0"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
//android:interpolator 动画插入器,属性可以根据编译器提示选择
//pivotX,pivoty表示伸缩坐标相对于起始坐标的位置
android:pivotX="50%"
android:pivotY="50%"

//表示从中心点缩放

android:toXScale="1.0"
android:toYScale="1.0" />

</set>


formx,tox,formy,toy,起始和结束是x,y,坐标上的伸缩尺寸

调用方法

loadAnimation = AnimationUtils.loadAnimation(this, R.anim.scale);
image.startAnimation(loadAnimation);


位移动画

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

<translate
android:duration="1000"
//起点坐标
android:fromXDelta="10"
android:fromYDelta="10"
//终点坐标
android:toXDelta="100"
android:toYDelta="100" />

</set>


调用方法:

loadAnimation = AnimationUtils
.loadAnimation(this, R.anim.translate);
image.startAnimation(loadAnimation);


旋转动画

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

<rotate
android:duration="1000"
android:fromDegrees="0"
//起始角度 android:interpolator="@android:anim/accelerate_decelerate_interpolator"

//旋转动画相对于 x,y坐标的位置
android:pivotX="50%"
android:pivotY="50%"
//终止角度
android:toDegrees="+360" />

</set>


调用方法:

loadAnimation = AnimationUtils.loadAnimation(this, R.anim.rotate);
image.startAnimation(loadAnimation);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 动画 应用 移动