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 补间动画的更多相关文章

  1. android 补间动画和Animation

    介绍: 补间动画是一种设定动画开始状态.结束状态,其中间的变化由系统计算补充.这也是他叫做补间动画的原因. 补间动画由Animation类来实现具体效果,包括平移(TranslateAnimation ...

  2. Android补间动画笔记

    布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns: ...

  3. (原)android补间动画(四)之插补器Interpolator

    比如说一段旋转动画 RotateAnimation animation = new RotateAnimation(0, 360, mMoveCircle.getMeasuredWidth() / 2 ...

  4. Android补间动画、帧动画和属性动画使用知识介绍

    https://blog.csdn.net/zhangqunshuai/article/details/81098062

  5. Android动画效果之Tween Animation(补间动画)

    前言: 最近公司项目下个版本迭代里面设计了很多动画效果,在以往的项目中开发中也会经常用到动画,所以在公司下个版本迭代开始之前,抽空总结一下Android动画.今天主要总结Tween Animation ...

  6. android 帧动画,补间动画,属性动画的简单总结

      帧动画——FrameAnimation 将一系列图片有序播放,形成动画的效果.其本质是一个Drawable,是一系列图片的集合,本身可以当做一个图片一样使用 在Drawable文件夹下,创建ani ...

  7. Android开发之补间动画、XML方式定义补间动画

    四种补间动画: 1.透明: 2.缩放: 3.位移: 4.旋转: //点击按钮 实现iv 透明的效果 动画 public void click1(View v) { //1.0意味着着完全不透明 0.0 ...

  8. Android 学习笔记多媒体技术之 Drawable类+Tween(补间动画)+Frame(帧动画)

    学习内容: 1.了解Drawable类的作用 2.如何使用Drawable... 3.了解Tween动画... 4.如何创建和使用Tween动画... 1.Drawable类...   Drawabl ...

  9. android 学习随笔二十五(动画:补间动画)

    补间动画(TweenAnimation) * 原形态变成新形态时为了过渡变形过程,生成的动画就叫补间动画(为了让对象从初始状态向结束状态改变的过程更加自然而自动生成的动画效果)* 位移.旋转.缩放.透 ...

随机推荐

  1. NFinal学习笔记 03—代码生成器

    NFinal代码生成器与其他的代码生成器不太一样,只需要运行模块下的WebComplier.aspx即可生成最终的web层代码.包括数据库的操作,Router类, 调试文件等.附上一段代码与大家分享 ...

  2. const用法总结

    1. const修饰变量 ; const int* a = &b; //情况1 int const* a = &b; //情况2 int* const a = &b; //情况 ...

  3. MVC自我学起之MVCMusic开发中遇到问题:musicstore edit方法出错的原因和解决方法

    错误提示: 存储区更新.插入或删除语句影响到了意外的行数(0).实体在加载后可能被修改或删除.刷新 ObjectStateManager 项. 解决案: 1.在view中或model中增加隐藏id 1 ...

  4. Intellij Idea 创建Web项目入门(一)转

    Intellij Idea 创建Web项目入门(一) 相关软件: Intellij Idea14:http://pan.baidu.com/s/1nu16VyD JDK7:http://pan.bai ...

  5. J2EE项目开发流程简介

    开发流程(一) 提出需求:产品部提出本周期项目的具体需求. 项目计划:项目经理协调开发部.测试部和产品部进行需求协商,产生项目计划. 需求理解:开发部和测试部向产品部提出各自对需求的理解. 产品设计: ...

  6. SqlServer排序(null值,和非空值排列顺序)

    项目中遇到一个问题,需要设置序号排序,而该字段中的默认值为空,使用普通排序,空值就会在最前边.可以使用如下语句:   其中 col 为 排序的字段名称. then 0 else 1 代表先空值,后数字 ...

  7. 【Ecstore2.0】第三方信任登陆问题解决_备忘

    ECSTORE2.0的信任登陆模块开启后,需要拿着授过权的ID在官网进行配置才可以使用,但是客户的授权证书一时无法使用,而跳过认证的话功能又用不了,所以就自己临时搭了一个测试用的认证服务器和信任登陆平 ...

  8. shell之冒号的作用

    冒号:   :在shell中是一种命令,意思是总是为真,但是却不做任何操作,即总是为真的空命令 eg:   [root@localhost ~]# ${abc:=t1}-bash: t1: comma ...

  9. mac终端 使用摘要

    Root  (拥有对此计算机的所有权限) 查看当前用户:who 切换到root(默认系统是不会使用root的):sudo -s  然后输入密码 更改密码:passwd

  10. 安卓手机用-----Exchange Activesync---同步Gmail日历联系人

    微软Exchange Activesync是一个跨平台的移动设备同步协议 支持很多手机操作系统,比如诺基亚的塞班.黑莓的palm.WindowsMobile.Iphone.安卓等.这些手机上都可以用这 ...