最新消息:文章中包含代码时,请遵守代码高亮规范!

Android的animation动画介绍【原创】

Android Lena 2386浏览 0评论

Android的animation由四种类型组成:alpha、scale、translate、rotate。alpha是渐变透明度动画效果,scale是渐变尺寸伸缩动画效果,translate是画面转换位置移动动画效果,rotate是画面转移旋转动画效果。定义文件存放在res/anim文件夹下。下面介绍一下各自的属性。

1.alpha

android:fromAlpha   动画开始的透明度,从0.0 –1.0 ,0.0表示全透明,1.0表示完全不透明

android:toAlpha       动画结束时的透明度,也是从0.0 –1.0 ,0.0表示全透明,1.0表示完全不透明

从Animation类继承常用的属性:

android:duration        动画持续时间,以毫秒为单位

android:fillAfter          如果设置为true,控件动画结束时,将保持动画最后时的状态

android:fillBefore       如果设置为true,控件动画结束时,还原到开始动画前的状态

android:fillEnabled    与android:fillBefore 效果相同,都是在动画结束时,将控件还原到初始化状态

使用示例:


<span class="tag"><?</span><span class="tag-name">xml</span> <span class="attribute">version</span>=<span class="attribute-value">"1.0"</span> <span class="attribute">encoding</span>=<span class="attribute-value">"utf-8"</span><span class="tag">?></span>

<span class="tag"><</span><span class="tag-name">alpha</span> <span class="attribute">xmlns:android</span>=<span class="attribute-value">"http://schemas.android.com/apk/res/android"</span>

<span class="attribute">android:fromAlpha</span>=<span class="attribute-value">"1.0"</span>

<span class="attribute">android:toAlpha</span>=<span class="attribute-value">"0.1"</span>

<span class="attribute">android:duration</span>=<span class="attribute-value">"3000"</span>

<span class="attribute">android:fillBefore</span>=<span class="attribute-value">"true"</span><span class="tag">></span>

<span class="tag"></</span><span class="tag-name">alpha</span><span class="tag">></span>

2.scale

android:fromXScale    起始的X方向上相对自身的缩放比例,浮点值,比如1.0代表自身无变化,0.5代表起始时缩小一倍,2.0代表放大一倍;

android:toXScale        结尾的X方向上相对自身的缩放比例,浮点值;

android:fromYScale    起始的Y方向上相对自身的缩放比例,浮点值,

android:toYScale        结尾的Y方向上相对自身的缩放比例,浮点值;

android:pivotX            缩放起点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p,当为数值时,表示在当前View的左上角,即原点处加上50px,做为起始缩放点;如果是50%,表示在当前控件的左上角加上自己宽度的50%做为起始点;如果是50%p,那么就是表示在当前的左上角加上父控件宽度的50%做为起始点x轴坐标。

android:pivotY           缩放起点Y轴坐标,取值及意义跟android:pivotX一样。

使用示例:


<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:duration="1000"
android:fromXScale="1."
android:fromYScale=".0"
android:pivotX="50%"
android:pivotY="0%"
android:toXScale="1."
android:toYScale="1." />
</set>

3.translate

android:fromXDelta     起始点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p,具体意义已在scale标签中讲述,这里就不再重讲

android:fromYDelta    起始点Y轴从标,可以是数值、百分数、百分数p 三种样式;

android:toXDelta         结束点X轴坐标

android:toYDelta        结束点Y轴坐标

从Animation类继承常用的属性:

android:duration        动画持续时间,以毫秒为单位

android:fillAfter          如果设置为true,控件动画结束时,将保持动画最后时的状态

android:fillBefore       如果设置为true,控件动画结束时,还原到开始动画前的状态

android:fillEnabled    与android:fillBefore 效果相同,都是在动画结束时,将控件还原到初始化状态

使用示例:


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

<translate
android:duration="400"
android:fromXDelta="-100%p"
android:toXDelta="0%p" />

</set>

4.rotate

android:fromDegrees     开始旋转的角度位置,正值代表顺时针方向度数,负值代码逆时针方向度数

android:toDegrees         结束时旋转到的角度位置,正值代表顺时针方向度数,负值代码逆时针方向度数

android:pivotX               缩放起点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p

android:pivotY               缩放起点Y轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p

使用示例:

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="-650"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000"
android:fillAfter="true">
</rotate>

如果我要对控件做一组的动作,就用set标签来将几个不同的动作定义成一个组。

 

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/8624.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者Lena的打赏,我们会更加努力!    如果您想成为作者,请点我

发表我的评论
取消评论

表情