android 补间动画
android开发过程中,为了更好的展示应用程序,应用程序添加动画,能够很好地实现这个功能。如果动画中的图像变化有一定的规律,可以采用自动生成图像的方式来生成动画,例如图像的移动、旋转、缩放等。自动生成中间图像的动画,补间动画,只需指定第一帧和最后一帧。
补间动画的优点是节省硬盘空间,缺点是,无法生成复杂的动画。本文主要介绍经常用到的四种补间动画:移动、缩放、旋转、透明度。
1.移动补间动画
移动是比较常见的动画效果。通过xml文件或者java代码能够实现补间动画的移动效果。在res/anim,文件中新建test_translate.xml文件。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXDelta="0" android:toXDelta="320" android:fromYDelta="0" android:toYDelta="0" > </translate> </set>
test_translte
android:interpolator:表示动画渲染器。可以设置3个动画渲染器:accelerate_decelerate_interpolator(动画加速减速器),先加速,再减速;accelerate_interpolator(动画加速器),动画开始时比较慢,逐渐加速;decelerate_interpolator(动画减速器):动画开始时最快,逐渐减速。
android:fromXDelta:动画起点位置的横坐标;
android:fromYDelta:动画起点位置的纵坐标;
android:toXDelta:动画终点位置的横坐标;
android:toYDelta:动画终点位置的纵坐标。
android:duration:动画的持续时间,单位是毫秒。动画在指定的时间内,从起点移动到终点。
补间动画通过AnimationUtils.loadAnimation(this,int resid)来装载补间动画,setAnimation为控件绑定动画,animation.start(),启动动画,animation.setRepeatCount(Animation.INFINITE);循环显示动画。
补间动画的三个状态:动画开始、动画结束、动画循环。监听状态的接口AnimationListener,3个方法为:onAnimationStart、onAnimationEnd、onAnimationRepeat。
2.缩放补间动画
通过<scale>标签定义缩放补间动画。
<scale
android:interpolator="@android:anim/accelerate_interpolator"
android:fromXScale="1.0"
android:fromYScale="0.0"
android:toXScale="0.0"
android:toYScale="1.0"
android:duration="400"> </scale>
scale
该段代码实现数据从上往下的展开。
android:fromXScale:表示沿X轴缩放的起始比例。
android:fromYScale:表示沿Y轴缩放的起始比例。
android:toXScale:表示沿x轴缩放的结束比例
android:toYScale:表示沿y轴缩放的结束比例
android:pivotX:沿x轴缩放的支点位置
android:pivotY:沿y轴缩放的支点位置
3.旋转补间动画
通过<roate>标签可以定义旋转补间动画。
<rotate android:interpolator="@android:anim/accelerate_interpolator"
android:fromDegrees="0"
android:toDegrees="150"
android:pivotX="50%"
android:pivotY="50%"
android:duration="10000"
android:repeatMode="restart"
android:repeatCount="infinite"/>
roate
android:fromDegrees:旋转的起始角度。
android:toDegrees:旋转的结束角度
android:repeatCount:设置旋转的次数。该属性需要设置一个整数值,如果为0,则表示不循环。
android:repeatMode:设置重复的模式。restart,表示重新开始循环。reverse,表示偶数次显示动画会与动画文件定义的方向相反。
4.透明度补间动画
通过 <alpha />标签设置透明度补间动画。
<alpha android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.2" android:duration="2000"/>
alpha
android:fromAlpha:动画的起始透明度
android:toAlpha:动画结束的透明度
属性值在0.0-1.0之间,0.0为完全透明,1.0表示不透明。
android 还有一个振动动画渲染器 cycle_interpolator.
android 补间动画的更多相关文章
- android 补间动画和Animation
介绍: 补间动画是一种设定动画开始状态.结束状态,其中间的变化由系统计算补充.这也是他叫做补间动画的原因. 补间动画由Animation类来实现具体效果,包括平移(TranslateAnimation ...
- Android补间动画笔记
布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns: ...
- (原)android补间动画(四)之插补器Interpolator
比如说一段旋转动画 RotateAnimation animation = new RotateAnimation(0, 360, mMoveCircle.getMeasuredWidth() / 2 ...
- Android补间动画、帧动画和属性动画使用知识介绍
https://blog.csdn.net/zhangqunshuai/article/details/81098062
- Android动画效果之Tween Animation(补间动画)
前言: 最近公司项目下个版本迭代里面设计了很多动画效果,在以往的项目中开发中也会经常用到动画,所以在公司下个版本迭代开始之前,抽空总结一下Android动画.今天主要总结Tween Animation ...
- android 帧动画,补间动画,属性动画的简单总结
帧动画——FrameAnimation 将一系列图片有序播放,形成动画的效果.其本质是一个Drawable,是一系列图片的集合,本身可以当做一个图片一样使用 在Drawable文件夹下,创建ani ...
- Android开发之补间动画、XML方式定义补间动画
四种补间动画: 1.透明: 2.缩放: 3.位移: 4.旋转: //点击按钮 实现iv 透明的效果 动画 public void click1(View v) { //1.0意味着着完全不透明 0.0 ...
- Android 学习笔记多媒体技术之 Drawable类+Tween(补间动画)+Frame(帧动画)
学习内容: 1.了解Drawable类的作用 2.如何使用Drawable... 3.了解Tween动画... 4.如何创建和使用Tween动画... 1.Drawable类... Drawabl ...
- android 学习随笔二十五(动画:补间动画)
补间动画(TweenAnimation) * 原形态变成新形态时为了过渡变形过程,生成的动画就叫补间动画(为了让对象从初始状态向结束状态改变的过程更加自然而自动生成的动画效果)* 位移.旋转.缩放.透 ...
随机推荐
- Chrome 开发者工具详解(2):Network 面板
面板上包含了Elements面板.Console面板.Sources面板.Network面板. Timeline面板.Profiles面板.Application面板.Security面板.Audit ...
- 0118——RTLabel和正则表达式
RTLabel和RegexKitLite都要导入第三方库 使用Regexkitlite库进行正则表达式的解析 1.库是使用MRR,如果在ARC工程里面使用这个类,必须在project->buil ...
- 简单实用的HTML代码
简单实用的HTML代码 一.HTML各种命令的代码: 1.文本标签(命令) <pre></pre> 创建预格式化文本 <h1></h1> 创建最大的标题 ...
- (转)Eclipse Shortcuts
原文地址: http://javapapers.com/core-java/eclipse-shortcuts/ Editors are an integral part of a programme ...
- toJOSN()方法
toJSON方法可以作为函数过滤器的补充.序列化的顺序如下: (1)如果存在toJSON方法而且能够通过它取得有效值,则调用该方法. (2)如果提供了第二个参数,应用该函数过滤器.传入过滤器的值是步骤 ...
- asp.net mvc4 signalR后台自推送
1.在引用中添加signalr后首选要引入Startup.cs类,在VS2012中添加Signalr后没有Startup.cs类然后就会报错 代码如下 using System; using Syst ...
- 在head标签里加一个meta标签让指定ie使用特定内核 解决css在ie中的兼容性问题
<meta http-equiv="x-ua-compatible" content="IE=edge, chrome=1"/> IE=edge: ...
- 伪静态(URL重写)
伪静态在可以使用数据库提供更强大的功能的同时,将很长很复杂的链接变成简短的静态链接形式,迎合搜索引擎方便搜索引擎蜘蛛(Spider)来抓取网页上的相关内容,提高页面被搜索引擎索引收录的比率,为用户提供 ...
- Keil C51 Data Overlaying
一般的编译器将函数中的区域变数动态配置在stack,等函数结束空间就释放出来.因为8051 的内部记忆体很少,只有区区128 或256 bytes,而且stack 也是共用这块记忆体.为了节省stac ...
- javascript之String
一.构造函数 new String(value) //构造函数 function String(value) //转换函数 二.属性 length 该字符串中的字符数 var str = new St ...