Android两大动画之Tween(补间动画)详解


一、 xml简介
   XML(Extensible Markup Language) 纯文本,传输数据
   1、xml文件规范
1) 必须包含唯一一个根元素;
2)都必须正确嵌套;
<元素A>
<元素B> ...</元素B>
<元素C />
</元素A>
3)每一个元素都必须有关闭;
4) 元素内部可以添加属性,但是属性值应该加引号;
5) 区分大小写。
一般xml文件在最上方添加 <?xml version="1.0" encoding="utf-8" ?>
允许使用注释 :<!-- 注释内容 -->
   2、xml中元素的命名规则
(android中xml文件中元素命名已经有规则,元素必须使用android中规定的已有元素。)
1)可以使用字母、数字以及其他字符;
2)不能数字或标点符号开头;
3)不能以“xml”,“XML”,“Xml”等开头;
4) 名称中不能有空格;
5)  尽量避免使用“-”,“.”,“:”。


二、Android中的动画animation简介
tweened animation(渐变动画):位置、尺寸、旋转等

frame-by-frame animation(逐帧动画)



三、Tweened Animation渐变动画的实现
透明度、移动、缩放、旋转四种
Animation(基类)
AlphaAnimation(透明度)、TransationAnimation(移动)、ScaleAnimation(缩放)、RotateAnimation(旋转)、AnimationSet(动画集)(五个派生类)
实现步骤:
1、描述动画(xml文件、java代码)
1)xml描述动画:
res/anim/*.xml
2)java 代码 :
四个动画对象初始化时调用参数最多的构造函数,完成该动画特有属性的设置。
AnimationSet setA = new AnimationSet(true);
setA.addAnimation();

2、java代码中载入动画
Animation anim = AnimationUtil.loadAnimation(getApplicationContext() , R.anim.X) ;
3、控件通过调用startAnimation(anim)演示动画

4、XML中描述动画,动画的共有属性:
     android:duration=""  时长,以毫秒为单位
     android:fillAfter="true" 动画播放后,控件停留在播放后的状态
     android:fillBefore="true"动画播放后,控件停留在播放前的状态
     android:repeatCount=""   重复次数(不包括本身那一次)
     android:repeadMode=""    重复模式 restart,reverse
     android:startOffset=""   设置动画延迟时间,以毫秒为单位
     android:zAdjustment=""
5、使用坐标时有三种设置方式:
     绝对坐标(100),相对父控件坐标(80%p),相对自身坐标(80%)

       6、各动画特有属性
Alpha 动画:
android:fromAlpha , android:toAlpha
Translate 动画 :
以控件自身左上角为(0,0)坐标
android:fromXDelta=""    
    android:fromYDelta=""
    android:toXDelta=""
    android:toYDelta=""
Rotate 动画 :
android:fromDegrees=""
android:toDegrees=""
android:pivotX="" 旋转中心点坐标
android:pivotY=""
如果 fromDegrees -- toDegrees 从正到负 逆时针旋转
Scale 动画 :
android:fromXScale=""
    android:fromYScale=""
    android:toXScale=""
    android:toYScale=""
android:pivotX="" 中心点坐标
android:pivotY=""
Set :
动画集,可以容纳多个单一动画;set中的若干个动画是同步播放的,如果想逐步播放,可以使用android:startOffset来进行设置






























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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值