动画属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动画属性相关的知识,希望对你有一定的参考价值。

参考技术A animation: name duration timing-function delay iteration-count direction fill-mode;

@keyframes 规定 @keyframes 动画的名称。

animation 所有动画属性的简写属性,除了 animation-play-state 属性。

animation-name 规定 @keyframes 动画的名称。

animation-duration 规定动画完成一个周期所花费的秒或毫秒。默认是 0。

animation-timing-function 规定动画的速度曲线。默认是 “ease”。

animation-delay 规定动画何时开始。默认是 0。

animation-iteration-count 规定动画被播放的次数。默认是 1。

animation-direction 规定动画是否在下一周期逆向地播放。默认是 “normal”。

animation-play-state 规定动画是否正在运行或暂停。默认是 “running”。

animation-fill-mode 规定对象动画时间之外的状态。

语法animation-iteration-count: n|infinite; n 定义动画播放次数的数值。

infinite 规定动画应该无限次播放。

语法animation-play-state: paused|running; paused 规定动画已暂停。

running 规定动画正在播放。

语法animation-fill-mode : none | forwards | backwards | both;

none 不改变默认行为。

forwards 当动画完成后,保持最后一个属性值(在最后一个关键帧中定义)。

backwards 在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义)。

both 向前和向后填充模式都被应用。

这个属性的意思就是元素都有自己本身的样式,如果你设置了forwards,就代表动画结束之后,元素会直接保留最后一帧的样式,而不会返回到元素本来的样式。如果设置了backwards,就代表点开页面就直接是动画里面第一帧的样式,然后等待动画延迟时间过了就开始执行动画,both就是上面两者都运用,好处就是你只用看关键帧里面定义的样式,而不用管元素本来的样式。

不同浏览器需要添加不同的前缀

先用keyframes定义动画(类似定义类选择器)

@keyframes 动画名称

0%

width:100px;



100%

width:200px;





1.0%是动画的开始,100%是动画的完成。这样的规则就是动画序列

2.在@keyframes中规定某项CSS样式,就能创建由当前样式逐渐改变为新样式的动画效果

3.动画是使元素从一种样式变为另一种样式的效果,可以改变任意多的样式和任意多的次数

最好用百分比规定变化发生的时间,或者用关键词from和to

android属性动画

一、概述

android动画总共分为三种逐帧动画、补间动画、属性动画。

逐帧动画:主要就是将几张图片放在一起播放形成动画。

补间动画:补间动画还是比较局限的,能实现view的旋转、横竖拉伸、横竖平移、透明度等简单的变化。

由于android速度发展之快,原有的两种动画已经不能满足我们的需求,所以android在3.0版本推出了一个高大上的动画效果,属性动画。




二、相关API:

ValueAnimator:属性动画的执行类,主要负责计算各个帧所对应的属性的值,可以处理动画的更新事件,它可以定义属性动画绝大部分的核心功能;

ObjectAnimator:他是ValueAnimator的子类,之一指定动画改变的属性,不过某些场景下,objectAnimator有局限性,那就需要通过ValueAnimator来解决。

以上是关于动画属性的主要内容,如果未能解决你的问题,请参考以下文章

动画属性

iOS中的显示动画(属性动画)

Android中补间动画和属性动画

Android动画之视图动画和属性动画

Android动画:模拟开关按钮点击打开动画(属性动画之平移动画)

iOS中动画组、过渡动画