Android:Animation 使用手册

Android动画之一:Drawable Animation 准备写几篇博客讲解Android的动画,首先介绍Android动画的整体轮廓。 Android动画主要分为三大类 View Animation Drawable AnimationProperty Animation 其中Drawable Animations对大多数人来说是三者中最容易理解的,其实它就是很多书籍中提到的逐帧动画(frame-by-frame animation)。 阅读详情

这篇文章主要作为查询手册。


Animation 视图动画

有5种XML方式:alpha,scale,rotate,translate,set


alpha 透明度动画:

<alpha
        android:fromAlpha="float"
        android:toAlpha="float" />

其中:0.0全透明 , 1.0 不透明。

【示例】实现文字的渐现效果:

<alpha
        android:fromAlpha="0.1"
        android:toAlpha="1" />

rotate旋转动画:

<rotate
        android:fromDegrees="float"
        android:toDegrees="float"
        android:pivotX="float"
        android:pivotY="float" />

pivot(锚点):距离左边顶边(left-top)的相对距离 ,有三种相对模式。
(1)像素相对模式:例如 "5" 代表距离左边/顶边 5个像素 android:pivotX="5"
(2)百分比相对模式:相对于对象的左边/顶边距的百分比 android:pivotX="5%"
(3)父类百分比相对模式:相对于对象父容器的左边/顶边距的百分比 android:pivotX="5%p"

【示例】绕中点旋转360°

<rotate
        android:fromDegrees="0"
        android:toDegrees="360"
        android:pivotX="50%"
        android:pivotY="50%" />


scale缩放动画:

<scale
        android:fromXScale="float"
        android:toXScale="float"
        android:fromYScale="float"
        android:toYScale="float"
        android:pivotX="float"
        android:pivotY="float" />

pivot(锚点):距离左边顶边(left-top)的相对距离 ,有三种相对模式。
(1)像素相对模式:例如 "5" 代表距离左边/顶边 5个像素 android:pivotX="5"
(2)百分比相对模式:相对于对象的左边/顶边距的百分比 android:pivotX="5%"
(3)父类百分比相对模式:相对于对象父容器的左边/顶边距的百分比 android:pivotX="5%p"

scale为1是原大小。


translate位移动画:

<translate
        android:fromXDelta="float"
        android:toXDelta="float"
        android:fromYDelta="float"
        android:toYDelta="float" />

这些属性均支持三种模式:像素相对模式,百分比相对模式,父类百分比相对模式。(见上文描述)


set动画集合:

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@[package:]anim/interpolator_resource"
    android:shareInterpolator=["true" | "false"] >
    <alpha
        android:fromAlpha="float"
        android:toAlpha="float" />
    <scale
        android:fromXScale="float"
        android:toXScale="float"
        android:fromYScale="float"
        android:toYScale="float"
        android:pivotX="float"
        android:pivotY="float" />
    <translate
        android:fromXDelta="float"
        android:toXDelta="float"
        android:fromYDelta="float"
        android:toYDelta="float" />
    <rotate
        android:fromDegrees="float"
        android:toDegrees="float"
        android:pivotX="float"
        android:pivotY="float" />
    <set>
        ...
    </set>
</set>

可以将多个动画组合起来。

组合可以嵌套。


使用Eclipse快速创建以上XML文件:

1:打开XML编辑器


2:选择Tween Animation


3:选择特定类型,并输入文件名


4:存放位置

xml文件位于资源文件的animtion文件夹下



在程序中使用定义好的动画:

方式1:使用View的setAnimation(Animation) + Animation的start();

        Animation animation = AnimationUtils.loadAnimation(this, R.anim.text_appear);
        animation.setDuration(6000);
        textView.setAnimation(animation);
        animation.start();

方式2:使用View的startAnimation(Animation)

        Animation animation = AnimationUtils.loadAnimation(this, R.anim.text_appear);
        animation.setDuration(6000);
        textView.startAnimation(animation);


Animation其他主题:

Duration 持续时间

在XML中加入一行:

android:duration="500"
或者以Java方式的代码书写:

animation.setDuration(500);



StartOffset 启动延时

android:startOffset="1000"

或者
animation.setStartOffset(1000);


Interpolator 插值器

用于改变时间对数值的影响

 android:interpolator="@android:anim/linear_interpolator"
或者

animation.setInterpolator(new LinearInterpolator());


Fill 属性填充

包括fillAfter,fillBefore,fillEnable。仅对fillAfter做说明

fillAfter用于动画效果结束后,效果改变的属性是否真实作用于View,默认关闭(False)。

    android:fillAfter="true" 
或者

        animation.setFillAfter(true);
也就是如果你对一个View做了一个alpha从不透明到透明的动画,你希望之后该View一直透明状态,则应该设置fillAfter="true"


Repeat 重复

重复次数与重复模式

    android:repeatMode="restart"
    android:repeatCount="5"
或者

        animation.setRepeatCount(5);
        animation.setRepeatMode(Animation.REVERSE);

重复模式有两种 RESTART 和 REVERSE

例如,你的alpha动画为

android:fromAlpha="1"
android:toAlpha="0.2"

设置为RESTART后,透明度到达0.2后,又会变成1重新开始下降到0.2,

而REVERSE则是:透明度到达0.2后,将逐渐变大到达1,然后逐渐减少到0.2。


注意两点:

重复次数不计算第1次,也就是setRepeatCount(0)代表不重复。

REVERSE模式从 开始->结束->开始 算2次



【Android游戏开发十四】深入Animation,在SurfaceView中照样使用Android—Tween Animation! 李华明Himi 原创,转载务必在明显处注明:转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/android-game/331.html 很多童鞋说我的代码运行后,点击home或者back后会程序异常,如果你也这样遇到过,那么你肯定没有仔细读完Himi的博文,第十九篇Himi专门写了关于这些错误的原因和解决方法,这里我在博客都补充说明下,省的童鞋们总疑惑 阅读详情

相关推荐

Animation & Property Animation 使用

Android中开发动效有两套框架可以使用,分别为 Animation 和 Property Animation; 相对来说,Animator比Animation要强大太多,两者之间的主要区别在于: 区别一:需要的Anroid API level不一样 Property Animation需要Android API level 11的支持,当然可以使用nineoldandroids.

GAStudio 9101

Animate 开源项目使用手册

Animate 开源项目使用手册 1. 目录结构及介绍 仓库 https://github.com/JohnSundell/Animate.git 基于假设的描述(因实际链接未提供,本内容为虚构示例),通常一个名为 Animate 的开源项目可能会具有以下典型的目录结构: Animate/ │ ├── README.md # 项目简介和快速指南 ├── LICENSE ...

gitblog_01191的博客 461

[Android 动画]简要分析一下Animator 与 Animation

在 Android 的开发过程中, 大家平时一般都或多或少会使用到一些动画, 通常大家一般使用的都是 Animation, 但是实际上Android 在3.0的时候就已经推出了 Animator 框架用以提升 Android 本身的动画效果,虽然我们一般基于2.x 开发的时候无法享受到 Animator 服务,但是这并不影响我们来体验一下他的强大之处.

心若有依,便是归处 5697

Android特效专辑(七)——飞机升空特效,一键清理缓存,灵活运用动画会有不一样的感受...

Android特效专辑(七)——飞机升空特效,一键清理缓存,灵活运用属性动画 最近的几篇博文反响还不错,也会继续的写下去的,关于这些特效的专辑,大多数也是借鉴大神的,最近由于工作的关系,会深入的了解一下Android BLE与硬件设备的串口通讯相关的内容,也会时不时的分享出来,当然,大家是一起学习,我毕竟也是初学者,今天讲的是...

weixin_34277853的博客 288

Animate.css动画库项目实战教程

Animate.css是一个流行的、易于使用的CSS3动画库,它提供了一套预设的动画效果,可以使开发者轻松地将交互动画添加到网站或应用上,无需复杂的CSS动画知识或编写冗长的代码。本章将带你了解Animate.css的基础知识,以及它在前端开发中如何应用。在Animate.css中,压缩包内包含多个文件,这些文件对不同的使用场景有着各自的功能与特点。了解这些文件能够帮助用户更好地集成和利用Animate.css库来实现动画效果。本章将详细介绍核心CSS文件的作用、特点,以及辅助文件与插件的功能。

weixin_35756637的博客 571

【安全加固】应对Sweet32攻击:TLS/SSL协议3DES漏洞深度解析与修复指南

本文深度解析了CVE-2016-2183(Sweet32攻击)漏洞,该漏洞利用TLS/SSL协议中3DES加密算法的64位块大小缺陷,通过大量数据流量实施“生日攻击”导致信息泄露。文章提供了从原理分析、系统排查到跨平台修复的完整指南,重点指导如何在Windows、Linux服务器及网络设备中禁用不安全的3DES密码套件,并采用AES-GCM等更安全的加密方式,以彻底修复此TLS/SSL漏洞。

weixin_29230649的博客 585

animate发布html5教程,Adobe Animate CC 中的 HTML 发布模板 - Adobe Animate 用户指南

关于 HTML 发布模板Animate HTML 模板是一个文件,其中包含静态 HTML 代码和由一些特殊类型的变量(不同于 ActionScript 变量)组成的灵活的模板代码。发布 SWF 文件时,Animate 用“发布设置”对话框的“HTML”选项卡中选择的值替代这些变量,并生成一个嵌入了 SWF 文件的 HTML 页。Animate 提供模板,能满足大多数用户的需要,因此不需要手动创建显...

weixin_32301557的博客 1626

MAX31865三线PT100测温实战:配置、接线与代码全解析

本文详细解析MAX31865三线PT100测温的配置、接线与代码实现。通过实战经验分享,介绍如何利用MAX31865芯片实现高精度温度测量,重点讲解三线制接法的自动误差补偿功能,并提供完整的寄存器配置、SPI通信和温度转换算法,帮助开发者快速解决工业测温中的常见问题。

ss78901的博客 757

css3动画手册使用,css3 animation动画手册

通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片、Flash 动画以及 JavaScript。CSS3 @keyframes 规则如需在 CSS3 中创建动画,您需要学习 @keyframes 规则。@keyframes 规则用于创建动画。在 @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果。浏览器支持Internet Explorer 1...

weixin_39752434的博客 396

dify进阶:使用 FastAPI 的 StreamingResponse 实现高效的数据流传输

在 FastAPI 框架中,是一个非常有用的工具,它允许你以流的方式发送数据给客户端,而不是一次性加载所有内容到内存中再发送。这对于处理大型文件下载、视频流或者任何需要长时间处理的任务特别有用。

xiezhipu的博客 1433

事件驱动的 SAP 工作流:从 BOR 事件到 Event Linkage 的落地与排障全景图

摘要: SAP工作流中的Event是业务对象状态变化的系统广播机制,如发票录入、采购订单释放等事件。通过事件驱动,业务程序与流程引擎解耦,业务只需发布事件,流程引擎负责后续处理。文章详细解析了SAP工作流事件的完整链路,包括事件定义、触发机制、事件容器传递、SWE2配置的关键作用,以及事件不触发时的排查方法。重点介绍了事件在启动流程、终止任务、等待步骤和主动创建中的应用,并结合采购订单审批案例说明事件的实际使用场景和配置要点。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 187

Android 动画animation 深入分析

Android 动画animation 深入分析 前言:本文试图通过分析动画流程,来理解android动画系统的设计与实现,学习动画的基本原则,最终希望能够指导动画的设计。 0 本文中用到的一些类图 1 view animation  调用方法:view.startAnimation(animation); public void startAni

farmer_cc的专栏 2万+

SOC估算方法之(OCV-SOC+安时积分法)

此方法主要参考。

m0_61973119的博客 933

Android Animation学习总结

在Android中定义了2类animation   1.Tween Animation(补间动画)       通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果,即是一种渐变动画   2.Frame  Animation(帧动画)       顺序播放事先做好的图像,是一种画面转换动画,好比放电影。以下具体介绍这两类动画Tween Animation 在XML中定义具体的动画 位置为:res/anim/fileName.xml(具体文件名)。 实际的文件名将被当做resource ID 在j

David_Gao的专栏 3166

2025年CSP-X初赛真题及答案解析(江西)(完善程序第1题)

2025年CSP-X初赛真题及答案解析(江西)(完善程序第1题)

王老师青少年编程 713

(27)FPGA实现AD7768接口(六)

AD7768/AD7768-4 为8通道和4通道24位同步采样模数转换器(ADC)。通过可选的功耗模式和数字滤波器选项可重新配置AD7768/AD7768-4以适应多种应用,如工业输入/输出模块、仪器仪表、音频测试、控制回路和状态监控。FPGA(Field Programmable Gate Array)是在PAL (可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。

m0_46498597的博客 996

android startanimation 回调,Android Animation解析

在app中增加一些动画效果能使我们的app更加绚丽,本文主要总结android中的AnimationAndroid中的Animation可以分为三种,View Animation,Drawable Animation ,Property Animation,其中第一种比较简单,只能实现一些简单的平移,缩放,旋转,透明度渐变的基本动画效果,第二种可以实现一种逐帧动画效果,而第三种属性动画比较复杂,A...

weixin_32211739的博客 1167

基于STM32设计的环境检测系统(OneNet)_365

本项目设计并实现了一种基于STM32F103RCT6单片机的环境检测系统,系统集成了多种传感器模块,具备对环境温湿度、烟雾浓度、易燃气体浓度、一氧化碳浓度和整体空气质量的实时检测功能。系统通过1.44寸SPI接口LCD实现本地数据显示,同时配备有源蜂鸣器用于环境异常报警。在数据通信方面,系统利用ESP8266-WIFI模块,采用MQTT协议将各类传感器数据上传至OneNet云平台,并借助其可视化框架实现网页端可视化界面,可通过电脑和手机浏览器远程访问,实现环境数据的远程监控。该系统设计结构简单、功能全面,适

2189

Android 动画学习(一)之View Animation

转载请注明出处: Android动画初步         动画(Animation)在我们日常的Android开发工作当中使用得较为频繁,尤其对于Android游戏这个动画的集合体,掌握动画开发的重要性毋庸置疑。同样的,在Android应用开发中我们也经常使用动画效果来提升APP用户体验,比如应用中的图片的旋转,页面和页面之间的淡入淡出、左右渐入渐出切换效果等等。那从今天开始我们将进入

叶功恒的博客专栏 9186

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

推荐项目:android-ripple-pulse-animation——打造动感安卓界面的魔法棒

推荐项目:android-ripple-pulse-animation——打造动感安卓界面的魔法棒 在当今这个注重用户体验的时代,一款应用的视觉效果常常成为吸引用户的首要因素。今天,我们要推荐的开源项目——android-ripple-pulse-animation,就是专为提升Android应用程序视觉吸引力而生的利器。通过它,你可以轻松实现酷炫的波纹和脉冲背景动画,让应用界面瞬间鲜活起来。 项...

gitblog_00688的博客 1078

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Android中AnimationDrawable,Animator和Animation

AnimationDrawable、Animation、Animator

盛夏光年的学习笔记 1689

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【Android基础知识】Drawable Animation和View Animation

Android中的动画主要分为三类 1.Drawable Animation 2.View Animation 3.Property Animation 这里介绍其中的两类,Drawable Animation(逐帧动画)和View Animation Drawable Animation 逐帧播放每一张图片,就好像动画播放一样。 View Animation  包括 平移动画 tra

自由世界的专栏 1909

android动画animation,Android动画——Animation

Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果Frame Animation:顺序播放事先做好的图像,跟电影类似在使用Animation前,我们先学习如何定义Animation,这对我们使用Animation会有很大的帮助。Animation是以XML格式定义的,定义好的XML文件存放在res\anim中。由于Tween Animation与Fra...

weixin_33687939的博客 618

Android animation动画

动画的XML文件在工程中。

2401_87022042的博客 913

Android Animation和Animator

Android Animation和Animator一、一个很蠢的Bug二、Animation2.1 TranslateAnimation平移动画2.2 RotateAnimation旋转动画2.3 ScaleAnimation缩放动画2.4 AlphaAnimation透明度动画三、Animator 前言:写这一篇文章的目的是记录一个自己犯下的一个蠢萌的问题,顺便复习一下Animation和A...

newcoderzZ的博客 1952

Android动画之三:Property Animation(上)

Property Animation.

Z 专栏 1896
上一篇: Android中一种ThreadPool的实现
下一篇: Android:Animator使用指南
computer165
博客等级 码龄16年 7粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值