关于Android的Animation使用(XML)

官方的两种Animation:

  • Tween Animation(渐变动画):通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果
  • Frame Animation(帧动画)   :顺序播放事先做好的图像

这里仅解释第一种

一、建立:

  在Android工程下的res目录中,新建一个anim目录,并在此新建一个testanim.xml,注意:根节点是SET,建立好后是这样的:

        

<?xml version="1.0" encoding="utf-8"?>
<set>

    <alpha />       <!-- 渐变透明度变化效果 -->

    <scale />       <!-- 渐变尺寸伸缩变化效果 -->
    
    <translate />   <!-- 位置移动变化效果 --> 
    
    <rotate />      <!-- 位置旋转变化效果 -->

</set>
  这样就建立好了,各属性介绍如下:

表一:SET属性
名称 属性 备注
android:shareInterpolator 是否共享插入器 共享时,四个子节点都用一个插入器
android:interpolator 指定一个动画的插入器 使用系统资源
android:fillEnabled
当设置为true时,fillAfter和fillBefroe将会都为true,此时会忽略fillBefore 和fillAfter两种属性
android:fillAfter 该动画转化是否在动画结束后被应用 boolean
android:fillBefore 该动画转化是否在动画开始前被应用 boolean
android:repeatMode 重复模式 "restart"  或者 "reverse"
android:repeatCount 重复次数 integer
android:duration 动画持续时间 integer
android:startOffset 动画时间间隔 long
android:zAdjustment 定义动画z order的变换 [normal] or [top] or [bottom]
android:detachWallpaper 未知 boolean
     
     

表二:alpha
名称 属性 备注
android:toAlpha 动画结束时的透明度 float [0,1]  0表示完全透明 1表示完全不透明
android:duration 动画持续时间 integer
android:fromAlpha 动画开始时的透明度 float [0,1]  0表示完全透明 1表示完全不透明
     


表三:SCALE
名称 属性 备注
android:fromXScale 动画开始时,X坐标上的伸缩尺寸 float,0.0表示收缩到没有、1.0表示正常无伸缩,小于1表示收缩,大于1表示放大
android:toXScale 动画结束时,X坐标上的伸缩尺寸 同上
android:fromYScale 动画开始时,Y坐标上的伸缩尺寸 同上
android:toYScale 动画结束时,Y坐标上的伸缩尺寸 同上
android:pivotX 动画相对于物件的X的开始位置 [0%,100%],50%表示中间
android:pivotY 动画相对于物件的Y的开始位置 0%,100%],50%表示中间
android:duration 同set 同set
     

表四:TRANSLATE
名称 属性 备注
android:fromXDelta 动画开始时,X坐标上的位置 integer  默认以自己为参照物
android:toXDelta 动画结束时,X坐标上的位置 integer  默认以自己为参照物
android:fromYDelta 动画开始时,Y坐标上的位置 integer  默认以自己为参照物
android:toYDelta 动画结束时,Y坐标上的位置 integer  默认以自己为参照物
     

表五:ROTATE
名称 属性 备注
android:fromDegrees 动画开始时,物件的角度 负数:逆时针旋转,正数:顺时针旋转
android:toDegrees 动画结束时,物件的角度(可大于360度) 同上
android:pivotX 动画相对于物件的X的开始位置 [0%,100%],50%表示中间
android:pivotY 动画相对于物件的Y的开始位置 [0%,100%],50%表示中间
     

   1,子节点的部分属性没有列出,可以参考根节点属性;

   2,各节点可以嵌套使用的;

   3,详细的可以查看官方文档:http://developer.android.com/reference/android/view/animation/Animation.html


二,使用

在需要的控件或布局中,加入引用即可

android:layoutAnimation="@anim/testanim"


三、效果
具体要什么的效果,需要调试才能看到
四,其他
   暂时没发现什么局限性,xml中配置还是能满足大部分的需求
   只是个人有一点没弄明白,我这里给list加了一动画,就是那种向下翻滚的动画,可是每次进来才看见动画,其余时候都没有动画显示出来,后来改在代码中显示的!

你可能感兴趣的:(关于Android的Animation使用(XML))