在android开发中,简单的加载数据显得画面过于单一,借助动画效果可以让我们的画面更多样化
Android系统提供了很多丰富的API去实现UI的动画,可将其划分为以下几类:
1.Tween Aniamtion(补间动画) 2.Property Animation(属性动画) 3.Frame Animation(逐帧动画)
Tween Animation分为四种:
Alpha:渐变透明度动画
Scale:渐变尺寸缩放动画
Translate:位置移动变换动画
Rotate:旋转动画
共同属性:
(1)duration:动画持续时间。单位:毫秒
(2)reaptCount:动画重复次数
(3)reaptMode:动画重复模式(值:倒序重复 REVERSE,顺序重复 RESTART)
(4)startOffset:动画之间的时间间隔
(5)fillAfter:设置为true,表示动画转化效果在动画结束后被应用
(6)fillBefore:设置为true,表示动画转化效果在动画开始前被应用
(7)interprolator:动画插入器(加速、减速插入器)
以上的共同属性都可以通过set方式进行设置。
Animation属性详解
xml属性 | java方法 | 解释 |
---|---|---|
android:detachWallpaper | setDetachWallpaper(boolean) | 是否在壁纸上运行 |
android:duration | setDuration(long) | 动画持续时间,毫秒为单位 |
android:fillAfter | setFillAfter(boolean) | 控件动画结束时是否保持动画最后的状态 |
android:fillBefore | setFillBefore(boolean) | 控件动画结束时是否还原到开始动画前的状态 |
android:fillEnabled | setFillEnabled(boolean) | 与android:fillBefore效果相同 |
android:interpolator | setInterpolator(Interpolator) | 设定插值器(指定的动画效果,譬如回弹等) |
android:repeatCount | setRepeatCount(int) | 重复次数 |
android:repeatMode | setRepeatMode(int) | 重复类型有两个值,reverse表示倒序回放,restart表示从头播放 |
android:startOffset | setStartOffset(long) | 调用start函数之后等待开始运行的时间,单位为毫秒 |
android:zAdjustment | setZAdjustment(int) | 表示被设置动画的内容运行时在Z轴上的位置(top/bottom/normal),默认为normal |
java类名 | xml关键字 | 描述信息 |
---|---|---|
AlphaAnimation | <alpha> 放置在res/anim/目录下 |
渐变透明度动画效果 |
RotateAnimation | <rotate> 放置在res/anim/目录下 |
画面转移旋转动画效果 |
ScaleAnimation | <scale> 放置在res/anim/目录下 |
渐变尺寸伸缩动画效果 |
TranslateAnimation | <translate> 放置在res/anim/目录下 |
画面转换位置移动动画效果 |
AnimationSet | <set> 放置在res/anim/目录下 |
一个持有其它动画元素alpha、scale、translate、rotate或者其它set元素的容器 |
在android开发中,可发现很多功能的实现可分XML和javacode,动画的开发也不例外,也可通过两者来进行开发
XML中
alph | 渐变透明度动画效果 |