• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > android动画详解三 动画API概述

android动画详解三 动画API概述

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android动画详解,android属性动画详解,android service详解,android布局详解,android.mk详解等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

android动画详解三 动画API概述


·属性动画与view动画的不同之处

view动画系统提供了仅动画View对象的能力,所以如果你想动画非View对象,你就要自己实现代码。view动画系统实际上还被强制仅能对View的少数属性进行动画,比如缩放和旋转,而不能对背景色进行。

view动画的另一个坏处是它仅修改View的绘制位置,而不是View的实际位置。例如,如果你动画一个移动穿越屏幕,button的绘制位置是正确的,但实际你可以点击它的位置却没有变,所以你必须去实现你自己的逻辑来处理它。

使用属性动画系统时,这个限制被完全解除了,并且你可以动画任何对象的任何属性(View或非View)并且对象本身也会实际上被修改。并且属性动画系统本身对动画的支持也更有力度。在高层,你分配动画到要动画的属性上,比如颜色,位置、或大小然后定义动画的参数比如插值算法以及多个动画的同步。

然而,view动画系统只需要少量时间来设置并且不需要太多的代码。如果view动画完全满足你的需求,或在你的旧代码中能按你想的工作,那么就不需要使用属性动画系统。也有可能在某些情况下需要同时用到这两种动画系统。

·API概览

你可以在android.animation找到大部分的属性动画系统的API。因为view动画系统已经在android.view.animation定义了很多插值算法,你也可以在属性动画系统中使用它们。下面的表中描述了属性动画系统的主要组成。

Animator类提供了创建动画的基础。你一般不应直接使用此类,因为它仅提供了最少的功能。下面的子类们都是从Animator派生的。

表1.Animators

类

描述

ValueAnimator

属性动画的主要基类。它计算要动画的属性的值。它具有所有计算动画的值的核心函数,它包含每次动画的时间信息、是否重复播放、接收更新事件的监听器等参数,还能设置如何计算自定义类型。动画一个属性要做两条:计算动画的值和设置这些值到对象或属性上。ValueAnimator不负责第二条,所以你必须侦听ValueAnimator对值的更新然后按你的逻辑在修改你要动画的对象。

ObjectAnimator

ValueAnimator的一个子类。允许你设置要动画的目标对象和对象的属性。此类会在计算出动画的新值时更新属性。大多数时候你应选择使用ObjectAnimator,因为用它处理对象的动画更加容易。然而,你某些时候可能想直接使用ValueAnimator,因为ObjectAnimator具有很多限制,比如需要对象具有特定的操作器方法。

AnimatorSet

提供了一个控制动画组中动画关系的机制。你可以设置多个动画一起播放、分别播放、或延迟播放。

Evaluator告诉属性动画系统如何计算某个属性的值。它们跟据Animator类提供的时间信息,动画的开始值和结束值计算动画的值。属性动画系统提供了以下evaluator:

 

表2.Evaluator们

Class/Interface

Description

IntEvaluator

计算int型属性的默认evaluator。

FloatEvaluator

计算float型属性的默认evaluator。

ArgbEvaluator

计算用十六进制值表示的颜色属性的默认evaluator。

TypeEvaluator

一个允许你创建自己的evaluator的接口。如果你要动画的对象的属性非int,float、或color,你就必须实现TypeEvaluator接口来定义如何计算对象属性的动画值。如果你想改变处理int,float,和color属性的默认行为,你也可以为它们指定自定义的TypeEvaluator。

 

时间插值器定义了时间函数如何计算动画的值。例如,你可以指定动画过程是线性的发生,这表示动画均匀的运动;或者指定非线性的时间,例如,开始时加速,结束时减速。表3描述了在android.view.animation中的插值器们。如果现有的插值器不能满足你,你可以实现接口TimeInterpolator来创建你自己的插值器。

Table3.插值器们

 

类/接口

描述

AccelerateDecelerateInterpolator

中间快两头慢的插值器。

AccelerateInterpolator

一直加速的插值器。

AnticipateInterpolator

先向后再猛向前的插值器。

AnticipateOvershootInterpolator

先向后,再猛向前,超过结束值后再回到结束值的插值器。

BounceInterpolator

最后跳一下的插值器。

CycleInterpolator

重复循环播放的插值器。

DecelerateInterpolator

一直减速的插值器。

LinearInterpolator

定速播放的插值器。

OvershootInterpolator

先猛向前直到超过结束值然后再回到开始值的插值器。

TimeInterpolator

让你能实现自己的插值器的接口。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 详解Android微信登录与分享,详解android分享
  • Android 动画资源 详解
  • android 动画详解(二)
  • Android 中的长度单位详解
  • Android pendingInten 用法详解
  • android动画详解四 创建动画浅析
  • android动画详解三 动画API概述
  • android动画详解一 概述
  • Android动画原理总结
  • Android 蓝牙操作详解,android蓝牙详解

相关文章

  • 2017-05-26Android的系统体系结构,android体系结构
  • 2017-05-26Android登录客户端,验证码的获取,网页数据抓取与解析,HttpWatch基本使用
  • 2017-05-26cocos的Director、Scence、Layer(一)---摘自于官方文档,cocosscence
  • 2017-05-26AndroidStudio怎样导入jar包,androidstudiojar
  • 2017-05-26硅谷新闻4--解决页签手指按下从左到右滑动的bug,硅谷4--
  • 2017-05-26自动化运维之cobbler批量部署操作系统(一)
  • 2017-05-26Android中Fragment与Activity之间的交互(两种实现方式),androidfragment
  • 2017-05-26android studio上的基本动画实现(第一篇),androidstudio
  • 2017-05-26Android6.0权限管理
  • 2017-05-26Intent之运输大队长,Intent之运输队长

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android开发学习——高德地图的实现,android高德
    • 一步一步学ROP之Android ARM 32位篇
    • Android之万能播放器解码框架Vitamio的介绍及使用,androidvitamio
    • React Native Android入门实战及深入源码分析系列(2)——React Native源码编译
    • 自定义加载loading view动画组件的使用。,loadingview
    • getDrawingCache()和Android中的截图方法简介
    • Android自定义ViewGroup打造各种风格的SlidingMenu
    • Android程序中--不能改变的事情,android程序--改变
    • iOS,Android网络抓包教程之tcpdump
    • Android学习笔记-TextView(文本框)(二),android-textview

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有