补间动画
2015-11-21 16:30
183 查看
补间动画:(View Animation)通过对场景的对象不断进行图像变化来产生动画效果,在实现补间动画时,只要定义动画开始和结束的”关键帧”其它过度帧由系统自动计算并补齐。
位置:在res文件夹下新建一个anim文件夹,然后建立对应的文件
通用属性
Android:interpolotor常用属性
特有属性
java代码使用
加载定义好了的xml文件
java代码完全定义
特有属性
java代码使用
加载定义好了的xml文件
java代码完全定义
特有属性
java代码使用
加载定义好了的xml文件
java代码完全定义
特有属性
java代码使用
加载定义好了的xml文件
java代码完全定义
位置:在res文件夹下新建一个anim文件夹,然后建立对应的文件
通用属性
属性 | 描述 |
---|---|
android:repeatMode | 设置动画的重复方式,reverse(反向),restart重新开始 |
android:repeatCount | 用于设置动画的重复次数 可以是数值或infinite |
android:duration | 用于指定动画的持续时间,单位为ms |
android:interpolotor | 用于控制动画的变化速度 |
android:fillAfter | 动画完成后是否保留在动画结束的位置 |
android:startOffset="500" | 动画在多少秒之后启动 |
属性 | 描述 |
---|---|
@android:anim/linear_interpolator | 动画一直在做匀速改变 默认 |
@android:anim/accelerate_interpolator | 动画一在开始的地方开始较慢,然后开始加速 |
@android:anim/decelerate_interpolator | 在动画开始的地方改变速度较快,然后开始减速 |
@android:anim/accelerate_decelerate_interpolato | 动画在开始和结束的地方改变速度较慢,在中间的时候加速 |
@android:anim/cycle_interpolator | 动画循环播放特定的次数,变化速度按正弦曲线改变 |
@android:anim/bounce_interpolator | 动画结束的地方采用弹球效果 |
@android:anim/anticipate_overshoot_interpolator | 在动画开始的地方先向后退一小步,再开始动画,到结束的地方再超出一小步,最后回到动画结束的地方 |
@android:anim/overshoot_interpolator | 动画快速到达终点,并超出一小步最后回到动画结束的地方 |
@android:anim/anticipate_interpolator | 在动画开始的地方先向后退一小步,再快速到达动画结束的地方 |
透明度渐变动画(AlphaAnimation)
xml配置使用<?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:duration="2000" android:fromAlpha="1.0" android:repeatCount="2" android:repeatMode="restart" android:toAlpha="0" > </alpha>
特有属性
属性 | 描述 |
---|---|
android:fromAlpha | 用于指定动画开始时的透明度,0-1之间,1表示完全不透明 |
android:toAlpha | 用于指定动画结束时的透明度,同上 |
加载定义好了的xml文件
animation = (AlphaAnimation) AnimationUtils.loadAnimation(this, R.anim.anim_alpha); iv_1.startAnimation(animation);
java代码完全定义
animation = new AlphaAnimation(1, 0); animation.setDuration(2000); animation.setRepeatCount(3); animation.setFillBefore(true); iv_1.startAnimation(animation);
缩放动画(scaleAnimation)
xml配置使用<?xml version="1.0" encoding="utf-8"?> <scale xmlns:android="http://schemas.android.com/apk/res/android" android:fromXScale="1" android:fromYScale="1" android:pivotX="0 " android:pivotY="0 " android:repeatCount="1" android:repeatMode="reverse" android:duration="2000" android:toXScale="5" android:toYScale="5" > </scale>
特有属性
属性 | 描述 |
---|---|
Android:fromXScale | 用于指定动画开始时水平方向上的缩放系数,值为 1.0 表示不变化 |
Android:toXScale | 用于指定动画结束时水平方向上的缩放系数,值为 1.0 表示不变化 |
Android:fromYScale | 用于指定动画开始时垂直方向上的缩放系数,值为 1.0 表示不变化 |
Android:toYScale | 用于指定动画结束时垂直方向上的缩放系数,值为 1.0 表示不变化 |
Android:pivotX | 用于指定轴心点 X 轴坐标 起点是布局的左上角 |
Android:pivotY | 用于指定轴心点 Y 轴坐标 50%表示y轴中心点 |
加载定义好了的xml文件
animation = AnimationUtils.loadAnimation(this, R.anim.anim_scale); iv_1.startAnimation(animation);
java代码完全定义
animation = new ScaleAnimation(1, 5, 1, 5, 0, 0); animation.setDuration(2000); animation.setRepeatCount(1); animation.setRepeatMode(Animation.REVERSE); iv_1.startAnimation(animation);
平移动画(TranslateAnimation)
xml配置使用<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="2500" android:fromXDelta="0" android:fromYDelta="0" android:repeatCount="1" android:repeatMode="reverse" android:toXDelta="300" android:toYDelta="300" > </translate>
特有属性
属性 | 描述 |
---|---|
Android:fromXDelta | 用于指定动画开始时水平方向上的起始位置 |
Android:toXDelta | 用于指定动画结束时水平方向上的起始位置 |
Android:fromYDelta | 用于指定动画开始时垂直方向上的起始位置 |
Android:toYDelta | 用于指定动画结束时垂直方向上的起始位置 |
加载定义好了的xml文件
animation = AnimationUtils.loadAnimation(this, R.anim.anim_translate); iv_1.startAnimation(animation);
java代码完全定义
animation = new TranslateAnimation(0,300, 0, 300);//相对于view的位置 animation.setDuration(2000); animation.setRepeatCount(1); animation.setRepeatMode(Animation.REVERSE); iv_1.startAnimation(animation);
旋转动画(RotateAnimation)
xml配置使用<?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="2000" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:repeatCount="2" android:repeatMode="reverse" android:interpolator="@android:anim/anticipate_overshoot_interpolator" android:toDegrees="360" > </rotate> </translate>
特有属性
属性 | 描述 |
---|---|
Android:fromDegrees | 用于指定动画开始时旋转的角度 |
Android:toDeggrees | 用于指定动画结束时旋转的角度 |
Android:pivotX | 用于指定轴心点 X 轴坐标 |
Android:pivotY | 用于指定轴心点 Y 轴坐标 |
加载定义好了的xml文件
animation = AnimationUtils.loadAnimation(this, R.anim.anim_rotate); iv_1.startAnimation(animation);
java代码完全定义
animation = new RotateAnimation(0, 360, 0, 0); animation.setDuration(2000); animation.setRepeatCount(2); animation.setRepeatMode(Animation.REVERSE); iv_1.startAnimation(animation);
相关文章推荐
- MVC5
- HTML
- Add Two Numbers
- HDU 2795 Billboard
- matlab:求两个集合的 交集 和 并集
- centos 6 python2.6升级到python3.5
- 内存管理中各属性值的区别
- Myeclipse 常用快捷键(持续更新)
- RCTF Re300 Writeup
- Robot Framework + Selenium2Library环境下,结合Selenium Grid实施分布式自动化测试
- 神经网络编程入门
- leetcode_195_tenth_line
- 安卓基础总结 httpClient上传下载
- Android Studio 多渠道打包和一键完成(全部产品)打包并签名
- poj2573
- CSS左中右布局,规范案例
- [置顶] 基于融云的好友关系实现
- QTP
- HDU 1231 最大连续子序列 &&HDU 1003Max Sum (区间dp问题)
- 002--VS C++ 获取鼠标坐标并显示在窗口上