关于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加了一动画,就是那种向下翻滚的动画,可是每次进来才看见动画,其余时候都没有动画显示出来,后来改在代码中显示的!

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值