android 补间动画

android开发过程中,为了更好的展示应用程序,应用程序添加动画,能够很好地实现这个功能。如果动画中的图像变化有一定的规律,可以采用自动生成图像的方式来生成动画,例如图像的移动、旋转、缩放等。自动生成中间图像的动画,补间动画,只需指定第一帧和最后一帧。

补间动画的优点是节省硬盘空间,缺点是,无法生成复杂的动画。本文主要介绍经常用到的四种补间动画:移动、缩放、旋转、透明度。

1.移动补间动画

移动是比较常见的动画效果。通过xml文件或者java代码能够实现补间动画的移动效果。在res/anim,文件中新建test_translate.xml文件。

1 <?xml version="1.0" encoding="utf-8"?>
2 <set xmlns:android="http://schemas.android.com/apk/res/android">
3     <translate xmlns:android="http://schemas.android.com/apk/res/android"
4     android:interpolator="@android:anim/accelerate_decelerate_interpolator"
5     android:fromXDelta="0" android:toXDelta="320" android:fromYDelta="0" android:toYDelta="0" >
6
7     </translate>
8
9 </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>标签定义缩放补间动画。

1     <scale
2         android:interpolator="@android:anim/accelerate_interpolator"
3         android:fromXScale="1.0"
4         android:fromYScale="0.0"
5         android:toXScale="0.0"
6         android:toYScale="1.0"
7         android:duration="400">
8
9     </scale>

scale

该段代码实现数据从上往下的展开。

android:fromXScale:表示沿X轴缩放的起始比例。

android:fromYScale:表示沿Y轴缩放的起始比例。

android:toXScale:表示沿x轴缩放的结束比例

android:toYScale:表示沿y轴缩放的结束比例

android:pivotX:沿x轴缩放的支点位置

android:pivotY:沿y轴缩放的支点位置

3.旋转补间动画

通过<roate>标签可以定义旋转补间动画。

1     <rotate  android:interpolator="@android:anim/accelerate_interpolator"
2         android:fromDegrees="0"
3         android:toDegrees="150"
4         android:pivotX="50%"
5         android:pivotY="50%"
6         android:duration="10000"
7         android:repeatMode="restart"
8         android:repeatCount="infinite"/>

roate

android:fromDegrees:旋转的起始角度。

android:toDegrees:旋转的结束角度

android:repeatCount:设置旋转的次数。该属性需要设置一个整数值,如果为0,则表示不循环。

android:repeatMode:设置重复的模式。restart,表示重新开始循环。reverse,表示偶数次显示动画会与动画文件定义的方向相反。

4.透明度补间动画

通过  <alpha />标签设置透明度补间动画。

1     <alpha android:interpolator="@android:anim/accelerate_interpolator"
2         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.

时间: 2024-10-11 05:03:29

android 补间动画的相关文章

Android补间动画笔记

布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_my_anim" android:layout_width="match_parent" android:layou

Android补间动画属性

Android动画分为帧动画和补间动画. 补间动画的效果: alpha-------渐变透明度动画效果 scale--------渐变尺寸伸缩动画效果 translate---画面转换位置移动动画效果 rotate------画面转移旋转动画效果 具体属性: <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/r

Android补间动画(附带Demo案例)

Demo源码 请点击:Github-Animation 补间动画(View Animation) 分类:透明动画.旋转动画.位移动画.缩放动画.组合动画 写法:代码中动态设置属性.使用xml文件定义属性 两种方式 补间动画不会改变控件的位置 如果需要使用XML方式定义补间动画 首先,在资源路径 res 下创建目录:anim(名字不能错) 其次,在 res/anim 目录下创建xml文件,根节点根据对应的补间动画定义(文章中有具体的代码示例) 透明动画(AlphaAnimation) 1. 代码示

Android补间动画集合

安卓提供的Api四种动画: 动画常用API: 1 setDuration(3000); //动画播放时间毫秒 2 setFillAfter(true); //显示动画结束时View的样子,动画结束时View长啥样,之后的显示就长啥样 3 setRepeatCount(5); //重复播放次数 淡入淡出:AlphaAnimation 最简单的动画,透明到显示或者显示到透明的动画. 1 public void alpha(View view){ 2 float fromAlpha = 0.1f; /

Android开发实战之补间动画和属性动画

说起动画,其实一点也不陌生,在使用一款app的时候为了优化用户体验,多多少少的,都会加入动画. 安卓中的动画,分为两大类:补间动画和属性动画.本篇博文会详细介绍总结这两大动画,希望本篇博文对你的学习和生活有所帮助. **补间动画** 补间动画分为四类:平移动画,旋转动画,缩放动画和渐变动画.这几类动画用法都差不多,只是对象参数不同这里我统一展示出来.以下是效果图: 实现代码很简单: btn1.setOnClickListener(new View.OnClickListener() { @Ove

Android开发之Tween(补间动画)完全解析(下)

欢迎转载,转载请注明出处:http://blog.csdn.net/dmk877/article/details/51980734 在上一篇文章中,我们详细讨论了Tween动画的xml的实现以及interpolator的使用,相信通过上篇文章大家对Tween动画的xml属性的配置会有一个详细的理解,当然这篇文章也是承接上篇文章,所以强烈建议先阅读上篇文章:Android开发之Tween(补间动画)完全解析(上),这篇文章将从代码的角度实现上篇文章的效果.如有疑问请留言,如有谬误欢迎批评指正. T

android 动画(1) 补间动画

android动画: 3.0以前,android支持两种动画模式,tween animation,frame animation, 3.0中又引入了一个新的动画系统:property animation, 这三种动画模式在SDK中被称为 property animation,        属性动画: view animation,   补间动画:  给出两个关键帧,通过一些算法将给定属性值在给定的时间内在两个关键帧间渐变. (Tween animation) drawable animatio

Android动画--帧动画和补间动画

帧动画 首先我们定义在drawable文件夹下定义一个xml文件 里面包含我们要播放的动画的图片,以及每一帧动画的播放的时长 <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@mi

Android中的补间动画(tween)的简单使用

相对帧动画,补间动画(tween)可以这么理解:我们不必像帧动画一样指定动画的每一帧,只需定义一个动画的开始和结束关键帧,而中间变化的帧由系统帮我们计算. tween动画可以分为下面几种: AlphaAnimation(透明渐变动画): 示例:res/anim/alpha.xml <?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.andr