android动画入门,Android动画之入门篇(一)
作为Android开发者,动画是非常重要的知识点,本文主要从入门角度来探索动画。 Android的动画主要包括三大类:逐帧(Frame)动画,补间(Tween)动画,属性动画。
1. 逐帧(Frame)动画
逐帧动画是最容易理解,最简单的动画。但需要把动画过程的每一帧静态图片都放到资源文件夹res/drawbale下,然后由Android来控制依次显示这些静态图片,利用人眼“视觉暂留”的原理,从而产生“动画”的错觉。实现方式与电影、动漫的原理一样。
每一帧的图片,可以是比如.jpg, .png格式的图片文件,也可以是通过xml定义的图形。下面通过一个实例来讲解逐帧动画的使用。
1.1 动画资源文件
frame_animation.xml放在文件夹res/drawable/下,该逐帧动画包含3张图片wheel0.png, wheel1.png, wheel2.png:
1.2 调用方法
ImageView img = (ImageView)findViewById(R.id.wheel_image);
img.setBackgroundResource(R.drawable.frame_animation);
AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();
frameAnimation.start();
1.3 参数说明
android:oneshot, true:动画只播放一遍, false:循环播放;
android:duration:该帧时长,单位ms(毫秒)。
2. 补间(Tween)动画
补间动画,只需指定动画开始帧、结束帧,而对于动画中间的过程,都有系统计算来填充的,而无需定义中间的每一帧。 动画变化主要包括4类型: 透明度动画(Alpha),缩放动画(Scale),位移动画(Translate),旋转动画(RotateAnaimation)
1.1 动画资源文件
tween_animation.xml放在文件夹res/anim/下, 该动画同时包括透明度,缩放,位移,旋转4种变化,当然也可以是其中一种,或几种变化的组合。
1.2 调用方法
ImageView img = (ImageView)findViewById(R.id.wheel_image);
Animation tweenAnimation = AnimationUtils.loadAnimation(this, R.anim.tween_animation);
img.startAnimation(tweenAnimation);
1.3 参数说明
android:interpolator 插值器,用于指定动画的效果; 插值器原理,请移步Android动画之原理篇(三);
android:shareInterpolator, true:所有子元素共享同一插值器;false不共享;
android:fillBefore, true:动画执行完成后停留在动画的第一帧;
android:fillAfter , true:动画执行完成后停留在动画的最后一帧;
android:fillEnabled,true:fillBefore/fillAfter才能生效
android:duration, 动画持续时长,每一个动画都可以单独指定duration;
alpha,透明度动画,其中0表示完全透明,1表示完全不透明:
fromAlpha: 起始透明度
toAlpha : 结束透明度
scale,缩放动画,其中0表示收缩到无,1表示正常无缩放:
fromXScale: 起始X坐标的缩放比例
toXScale : 结束X坐标的缩放比例
fromYScale: 起始Y坐标的缩放比例
toYScale : 结束Y坐标的缩放比例
pivotX : 轴中点X坐标的位置比例
pivotY : 轴中点Y坐标的位置比例
translate,位移动画:
fromXDelta: 起始X方向位置比例
toXDelta : 结束X方向位置比例
fromYDelta: 起始Y方向位置比例
toYDelta : 结束Y方向位置比例
rotate, 旋转动画:
fromDegrees: 起始角度,单位度
toDegrees : 结束角度,单位度
pivotX : 旋转中点X坐标的位置比例
pivotY : 旋转中点Y坐标的位置比例
3. 属性动画
属性动画,是补间动画的增强版,但更加灵活。可直接修改任何属性,使之形成动画,功能非常强大,也是最常用的动画。下面举个简单的例子:
ObjectAnimator anim = ObjectAnimator.ofFloat(targetObject, "alpha", 0f, 1f);
anim.setDuration(1000);
anim.start();
android动画入门,Android动画之入门篇(一)相关推荐
- Android 属性动画(一)新手入门
一.属性动画简介 Android 中动画有很多种,属性动画就是其中的一种.所谓的属性动画,就是在指定的时间内,通过改变对象的属性达到变化效果的动画.在 Android 中,属性动画系统是一个强健的框架 ...
- android动画入门,Android动画基础总结
Android动画主要分为两种,视图动画和属性动画,视图动画又分为补间动画和帧动画两种.补间动画包含透明动画(Alpha),缩放动画(Scale),平移动画(Translate),旋转动画(Rotat ...
- Android自定义控件开发入门与实战(7)SVG动画,android底层架构
move to (50,23) line to(100,25) 而坐标并不是用width和height的坐标,而是viewportWidth和viewportHeight的坐标,(50,23)中50表 ...
- Android控件入门-动画效果(透明度动画)
透明度动画(alpha): 第一种方式: xml: <Buttonandroid:id="@+id/btn_alpha"android:layout_width=" ...
- android 一分钟倒计时动画,Android View篇之启动页倒计时动画的实现
Hello,小伙伴们大家好,今天介绍一个很简单的倒计时动画,仿酷狗音乐的启动页倒计时效果,也是大多数APP在用的一个动画,来看看效果图: 在这里插入图片描述 整体的思路就是用一个平滑的帧动画来画圆弧就 ...
- android+下落+动画,完美起航-Android面试题之动画+事件处理篇
前言 提示:秋招在即,计蒙准备在国庆假期结束前整理一套Android初级面试题籍,希望对大家有所帮助 提示:以下是本篇文章正文内容 动画 1.Android 中的动画有哪几类 帧动画.补间动画.属性动 ...
- Android面试题之动画+事件处理篇,安卓消息分发机制
关于整理问题 前言 ================================================================= 提示:秋招在即,计蒙准备在国庆假期结束前整理一套 ...
- Android面试题之动画+事件处理篇
动画+事件处理篇 前言 动画 1.Android 中的动画有哪几类 2.动画能组合在一起使用么? 3.插值器的种类有哪些? 4.如何自定义插值器 5.如何修改 Activity 进入和退出动画 事件处 ...
- Android 过反抓包总结入门篇
Android 过反抓包总结入门篇 做协议分析少不了抓包,但是对于新入门我们来说,这是一大难题,网上各种各样的工具不少.但是如果遇到反抓包,那就芭比Q了.但是一些简单的反抓包机制还是很好过的. 1.要 ...
最新文章
- [bzoj1064][Noi2008]假面舞会
- Cookie的生命周期
- 改善代码设计 —— 组织好你的数“.NET研究”据(Composing Data)
- (十四)json、pickle与shelve模块
- ca证书 linux 导入_Linux CA证书服务器搭建
- Groovy 设计模式 -- 保镖模式
- Linux的Nginx三:类型|特点
- [C++11]返回值类型后置
- JavaScript | 声明数组并在每个循环中使用的代码
- ThreadLocal与Synchronized的用法
- 拓扑容差如何修改_如何做到全屋WIFI无死角,MESH组网对比有哪些优势?
- 【路径规划】基于matlab粒子群算法机器人栅格路径规划【含Matlab源码 018期】
- 降维系列之 AutoEncoder 自动编码器
- win7如何添加终端服务器,Win7怎么添加windows超级终端?
- STM32L4系列单片机如何使用RTC唤醒定时器进入Standby低功耗模式并唤醒+整机功耗测试
- 电脑PHP动画制作画板,Canvas在线画图—简单制作一个画板
- 程序员实习期馒头加酸菜,转正后月薪10K起步:走路都带风!
- 层次、网状、关系模型
- 【Apache运维基础(5)】Apache的Rewrite攻略(2)
- 教你在word中为一句话同时加上横线和波浪线
热门文章
- 协同过滤算法_推荐系统(5):协同过滤算法的基本思想
- linux系统io编程,Linux系统编程(1) —— 文件IO
- explain分析SQL查询
- (82)zabbix如何选择适合的监控类型
- 1.Could not load the Tomcat server configuration at /Servers/Tomcat v7.0 Server(tomcat突然用不了)...
- JDBC连接池和DBUtils
- 1到n的整数中,1出现的次数
- 自定义组件-BreadcrumbTreeView 的使用
- oracle DB_LINK
- 【小安翻唱】Dreams-黑之契约者 双蛋快乐~顺便来拉票咯!