传统动画Animation的四种基础动画的使用

传统动画:animation

Duration:动画持续的时间
第一种:AlphaAnimation(透明度动画)
fromAlpha 动画起始时透明度
toAlpha 动画终止时透明度
0.0 表示完全透明/1.0 表示完全不透明

Xml代码实现:

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

    <alpha  android:duration="1000" android:fromAlpha="0.1" android:toAlpha="1.0" >
    </alpha>
</set>

第二种:RotateAnimation 旋转动画

<?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" android:pivotX="50%" android:pivotY="50%" android:toDegrees="+360" />

</set>

第三种:TranslateAnimation 位移动画

<?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>

第四种:ScaleAnimation缩放动画

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

    <scale  android:duration="2000" android:fillAfter="false" android:fromXScale="0.0" android:fromYScale="0.0" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:pivotX="50%" android:pivotY="50%" android:toXScale="1.0" android:toYScale="1.0" />

</set>

动画的调用ImageView控件示例代码:

image = (ImageView) findViewById(R.id.image);
Animation loadAnimation;
loadAnimation = AnimationUtils.loadAnimation(this, R.anim.translate);
image.startAnimation(loadAnimation);

R.anim.translate是对应自己创建的xml代码

特例1:组合动画的示例: android:startOffset=”3000”该属性主要是设置动画的开始时间的延迟的长度

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

    <alpha  android:duration="3000" android:fromAlpha="0.2" android:toAlpha="1.0" />
    <alpha  android:duration="3000" android:fromAlpha="1.0" android:startOffset="3000" android:toAlpha="0.2" />

</set>

特例2:LayoutAnimation布局动画(以listView为例)

在布局动画控制器中添加一个动画
LayoutAnimationController lac=new LayoutAnimationController (AnimationUtils.loadAniamtion(this,R.anim.zoom_in))
设置加载顺序
lac.setOrder(LayoutAnimationController.ORDER_RANDOM)
ListView加载动画
listView.setLayoutAnimation(lac)
启动动画
listView.startLayoutAnimation()

特例3:FrameAnimation(逐帧动画)
第一步:
使用animation-list标签来分组一个item标签的集合
定义要显示的图片
指定它要显示的时间(以毫秒为单位)

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

    <item  android:drawable="@drawable/one" android:duration="500"/>
    <item  android:drawable="@drawable/two" android:duration="500"/>
    <item  android:drawable="@drawable/three" android:duration="500"/>
    <item  android:drawable="@drawable/four" android:duration="500"/>
    <item  android:drawable="@drawable/five" android:duration="500"/>
    <item  android:drawable="@drawable/six" android:duration="500"/>

</animation-list>

第二步:在控件中的调用:(以ImageView为例)

image.setImageResource(R.drawable.anim_list);

作者:周庆华:原文地址

你可能感兴趣的:(android)