安卓四种动画Animation详解
来源:互联网 发布:手机怎么登淘宝电脑版 编辑:程序博客网 时间:2024/06/05 20:45
我们都知道在安卓的app中会实现一些很酷炫的效果,如:拍照时的弹框,游戏基础的一些动画....................
其实安卓系统基本基于四个类进行二次开发:
AlphaAnimation渐变透明度动画效果ScaleAnimation渐变尺寸伸缩动画效果TranslateAnimation画面转换位置移动动画效果RotateAnimation画面转移旋转动画效果 这些基本上都是在java文件里写的过程可能比较复杂,当然我们还可以在XML文件里写。在module(eclipse对应你的项目)里的res文件夹下新建个anim(一定要是这个名字),然后再建个xx.xml(文件名自己定义)文件。
根目录是set,子目录有四个(可同时建立一个或者多个)。
alpha渐变透明度动画效果scale渐变尺寸伸缩动画效果translate画面转换位置移动动画效果rotate画面转移旋转动画效果
详细功能如下面代码
<?xml version="1.0" encoding="utf-8"?><!-- android:toXDelta="100%"表示自身的100%,也就是从View自己的位置开始。 android:toXDelta="80%p"表示父层View的80%,是以它父层View为参照的。 android:fromXDelta="320" 屏幕X轴的起始像素坐标 android:interpolator 指定动画插入器1.AccelerateDecelerateInterpolator:在动画开始与结束的地方速率改变比较慢,在中间的时候速率快。2.AccelerateInterpolator:在动画开始的地方速率改变比较慢,然后开始加速3.CycleInterpolator:动画循环播放特定的次数,速率改变沿着正弦曲线4.DecelerateInterpolator:在动画开始的地方速率改变比较慢,然后开始减速5.LinearInterpolator:动画以均匀的速率改变 android:shareInterpolator 如果不想共享一个interpolator, 则设置"false",并且需要在每一个动画效果处添加interpolator。--><set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false"> <!-- fromAlpha:开始时透明度 toAlpha: 结束时透明度 duration:动画持续时间 --> <alpha android:duration="500" android:fromAlpha="0.0" android:interpolator="@android:anim/decelerate_interpolator" android:toAlpha="1.0"/> <!-- fromDegrees 动画开始时的角度 toDegrees 动画结束时物件的旋转角度,正代表顺时针 pivotX 属性为动画相对于物件的X坐标的开始位置 值都为50%就是以控件中心原位旋转 pivotY 属性为动画相对于物件的Y坐标的开始位置 --> <rotate android:duration="10000" android:fromDegrees="300" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:pivotX="10%" android:pivotY="100%" android:toDegrees="-360"/> <!--fromXDelta,fromYDelta 起始时X,Y座标,屏幕右下角的座标是X:320,Y:480toXDelta, toYDelta 动画结束时X,Y的座标 fromXScale,fromYScale, 动画开始前X,Y的缩放,0.0为不显示, 1.0为正常大小toXScale,toYScale, 动画最终缩放的倍数, 1.0为正常大小,大于1.0放大pivotX, pivotY 动画起始位置,相对于屏幕的百分比,两个都为50%表示动画从屏幕中间开始startOffset:动画多次执行的间隔时间,如果只执行一次,当使用该方法设置后,将延迟一定的时间再启动动画。单位毫秒duration:一次动画效果消耗的时间,单位毫秒,值越小动画速度越快repeatCount:动画重复的计数,动画将会执行该值+1次,如果想让动画不停止就设为-1。repeatMode:动画重复的模式,reverse为反向,当第偶次执行时,动画方向会相反。restart为重新执行,方向不变 --> <scale android:duration="10000" android:fromXScale="0.0" android:fromYScale="0.0" android:interpolator="@android:anim/linear_interpolator" android:pivotX="50%" android:pivotY="50%" android:repeatCount="1" android:repeatMode="reverse" android:startOffset="0" android:toXScale="1.5" android:toYScale="1.5"/> <translate android:duration="10000" android:fromXDelta="320" android:fromYDelta="480" android:interpolator="@android:anim/cycle_interpolator" android:toXDelta="0" android:toYDelta="0"/></set>
阅读全文
0 0
- 安卓四种动画Animation详解
- Unity3d Animation动画详解。。。
- Animation动画详解
- Android Animation 动画详解
- Animation动画详解
- Animation动画详解一
- Animation动画详解二
- Animation动画详解三
- Android Animation动画详解
- Animation 动画详解
- 《Animation动画详解》
- Animation 简单动画详解
- animation动画详解
- Tween Animation动画详解
- Animation动画属性详解
- Android-animation-动画详解
- Animation---详解Android动画之Frame Animation
- Animation---详解Android动画之Tween Animation
- 图文详解解SSL/TLS协议握手过程
- 不能修改“System Roots”钥匙串
- CCS在调试DSP程序过程中出现No source available for "0x712148" 问题
- android.util.AndroidRuntimeException: requestFeature() must be called before adding content
- tomcat 无法及时响应,卡住, 要按回车键
- 安卓四种动画Animation详解
- nginx配置实现反向代理&负载均衡
- Java压缩图片util,可等比例宽高不失真压缩,也可直接指定压缩后的宽高
- flip函数翻转操作
- 《Spring 5 官方文档》整合EJB
- stm32学习笔记 F1系列端口复用与重映射
- spring aop实现的2种方式,以及自定义注解
- bootstrap的轮播图改变样式
- 几种主流无线通信技术的比较