android动画系列(一):动画基础
2016-08-27 20:52
302 查看
动画基础
参考 传统动画与view动画的差别view动画基础
view动画
view动画的分类及基本使用
分为 translate,rotate,alpha,scale以下是几种基本动画及其通用选项
<set android:shareInterpolator="false"> <scale android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromXScale="1.0" android:toXScale="1.4" android:fromYScale="1.0" android:toYScale="0.6" android:pivotX="50%" android:pivotY="50%" android:fillAfter="false" android:duration="700" /> <set android:interpolator="@android:anim/decelerate_interpolator"> <scale android:fromXScale="1.4" android:toXScale="0.0" android:fromYScale="0.6" android:toYScale="0.0" android:pivotX="50%" android:pivotY="50%" android:startOffset="700" android:duration="400" android:fillBefore="false" /> <rotate android:fromDegrees="0" android:toDegrees="-45" android:toYScale="0.0" android:pivotX="50%" android:pivotY="50%" android:startOffset="700" android:duration="400" /> </set> </set>
有关属性的说明
- 如果想要他们按顺序来运行的话,就需要加上一个startOffset属性。否则默认同时进行。
- fillBefore是指动画结束时画面停留在此动画的第一帧; 默认值为true
- fillAfter是指动画结束是画面停留在此动画的最后一帧。默认值为false
属性设置的学问
对于一些属性的设置如pivot,如果是 50%,那么他就是针对于自己,如果是50,那么就是针对于父控件Some values, such as pivotX, can be specified relative to the object itself or relative to the parent. Be sure to use the proper format for what you want (“50” for 50% relative to the parent, or “50%” for 50% relative to itself).
alpha属性从0.0-1.0 0.0表示完全透明,1.0表示完全不透明
scale属性也一样。
如果是translate,对于fromXDelta之类的属性可以取浮点数,数字%,数字%p三种
浮点数是绝对的,是原来的相对于现在的属性的像素值
数字%是相对的,相对于原来的自己
数字%p也是相对的,相对于父控件
rotate也一样
这两个属性也有三种表示方式,但是X轴都是相对方向都是Left,Y轴都是相对于Top
浮点数、num%、num%p;
数字方式代表相对于自身左边缘的像素值,
num%方式代表相对于自身左边缘或顶边缘的百分比,
num%p方式代表相对于父容器的左边缘或顶边缘的百分比。
插值器的使用
可以通过插值器来控制动画与时间的关系。android:interpolator(插值器)
应用于动画的插值器。该值必须是一个指定了插值器资源的引用(不是一个插值器的类名),在平台中有缺省的插值器资源可以使用,或者你可以创建自己的插值器资源,可以看下面关于插值器的讨论。
android:shareInterpolator
Boolean值, true:代表在所有的子元素中共享同一个插值器
上面两个属性都应该在xml中定义
view动画的使用
ImageView spaceshipImage = (ImageView) findViewById(R.id.spaceshipImage); Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(this, R.anim.hyperspace_jump); spaceshipImage.startAnimation(hyperspaceJumpAnimation);
Drawable Animation
如果动画是由多个图片按一定顺序和时间组织起来的话,就可以使用这种animation。可以在xml中定义。如果把oneshot属性记为false的话,就可以一直执行下去,对于那种无限循环并且有几种不同的帧的都合适不过了。
相关文章推荐
- android自定义View基础系列一(模仿365日历PC版加载动画)
- android自定义View基础系列一(模仿360手机卫士手机提速动画)
- Android动画系列(一) - 基础动画ViewAnimation
- [Android基础系列]轻松实现按钮的鼠标悬停背景切换
- Android动画基础
- Android开发视频教程-深入浅出系列Lesson20-AFF111029学习Android界面开发的基础
- android游戏引擎andengine学习系列四:绘制特效的动画文字
- as3基础系列3--动画部分
- Android游戏开发基础part6--动画
- android anim 动画效果编程基础
- Android游戏开发基础part6--动画
- Android Drawable系列——Animation Drawable(动画实现)
- android基础--动画效果
- android基础--屏幕切换动画
- 动画效果编程基础--AnimationAndroid
- Android之动画效果编程基础
- [Android基础系列]轻松实现按钮的鼠标悬停背景切换
- Android控件系列之相册Gallery&Adapter适配器入门&控件缩放动画入门
- 动画效果编程基础--AnimationAndroid
- Android动画基础(一)