学习笔记——Animations动画了解

Animations的简介

1、基本介绍
Animations是android中Ui界面动画效果实现的一个api工具,它提供了各种动画效果,例如旋转,折叠,缩小,放大等,绝大多数的控件都可以使用它。
2、分类
Animations可分为2种类别。一种是Animations提供的各种动画效果(渐变动画);一种是一个时间一个时间的显示动画的效果(创建Drawable序列)(画面转换动画)。
animation由四种类型组成:

  1. alpha(AlphaAnimation) 渐变透明度效果
  2. scale(ScaleAnimation)渐变尺寸伸缩效果
  3. translate(TranslateAnimation)画面转换位置移动效果
  4. rotate(RotateAnimation)画面转换旋转效果

3、Animations的使用(渐变动画)

  1. 创建一个AnimationSet对象;
  2. 创建相应的Animation对象;
  3. 为对象Animation设置对应数据;
  4. 将Animation添加到AnimationSet对象中;
  5. 执行AnimationSet。
    Tween Animations(渐变动画)的通用.java方法:
    1 setDuration(long durationMills)
    设置动画的持续时间
    2 setFillAfter(Boolean fillAfter)
    如果fillAfter=ture,则动画执行后,控件将回到动画执行结束的状态
    3 setFillBefore(Boolean fillBefore)
    如果fillBefore=ture,则动画执行后,控件将回到动画执行之前的状态
    4 setStartOffSet(long startOffSet)
    设置动画执之前的等待时间
    5 setRepeatCount(int repeatCount)
    设置动画重复执行的次数

Android XML动画解析

渐变动画的四种类型:

1 Alpha


<set xmlns:android="http://schemas.android.com/apk/res/android" >
<alpha
android:fromAlpha="0.1"
android:toAlpha="1.0"
android:duration="3000"
/> 

set>

2 Scale


<set xmlns:android="http://schemas.android.com/apk/res/android">
   <scale  
          android:interpolator=
                     "@android:anim/accelerate_decelerate_interpolator"
          android:fromXScale="0.0"
          android:toXScale="1.4"
          android:fromYScale="0.0"
          android:toYScale="1.4"
          android:pivotX="50%"
          android:pivotY="50%"
          android:fillAfter="false"
          android:duration="700" />
set>

3 Translate


<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="30"
android:toXDelta="-80"
android:fromYDelta="30"
android:toYDelta="300"
android:duration="2000"
/>

set>

4 Rotate


<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate 
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:fromDegrees="0" 
        android:toDegrees="+350"         
        android:pivotX="50%" 
        android:pivotY="50%"     
        android:duration="3000" />  

set>

使用xml:


public static Animation loadAnimation (Context context, int id) 
......
myAnimation= AnimationUtils.loadAnimation(this, R.anim.my_action);
//使用AnimationUtils类的静态方法loadAnimation()来加载XML中的动画XML文件

.java文件的代码示例(AlphaAnimation)

private AlphaAnimation myAnimation_Alpha;

/**对象构造
* fromAlpha为 动画开始时候透明度  toAlpha为 动画结束时候透明度
* 0.0表示完全透明     1.0表示完全不透明
*/
AlphaAnimation(float fromAlpha, float toAlpha) 
myAnimation_Alpha = new AlphaAnimation(0.1f, 1.0f);
myAnimation_Alpha.setDuration(5000);//持续时间

(资料参考:
[http://www.openopen.com/lib/view/open1335777066015.html])
[http://www.360doc.com/content/13/0102/22/6541311_257754535.shtml#]

你可能感兴趣的:(学习笔记)