您的位置:首页 > 移动开发 > Android开发

Android动画----Translate

2016-12-04 23:28 323 查看
引言

  关于动画的学习,这是第四篇啦,都是最基础的几种动画,梳理一番,对知识的了解就更加清晰啦,转入正题,介绍今天的主角Translate。

  

Translate动画

  顾名思义,Translate动画就是位移动画,也是集成自基类Animation。

  

Translate属性

  

  Translate动画的相关属性如下xml所示,每个字段的意思见注释

<?xml version="1.0"  encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"              #起始x轴坐标位置
android:toXDelta="50"               #结束时x轴坐标位置
android:fromYDelta="0"              #起始Y轴坐标位置
android:toYDelta="200"              #结束时Y轴坐标位置

android:duration="700"              #动画持续时间,毫秒为单位
android:fillAfter="true"            #动画结束后,保持结束时的状态
android:fillBefore="true"           #动画结束后,恢复为初始状态
android:fillEnabled="true"          #效果同上
android:repeatCount="5"             #重复次数,取值为-1时无限重复,默认动画执行一次
android:repeatMode ="reverse"       #重复模式,有reverse和restart两个值,前者为倒序回放,后者为重新开始
android::interpolator="@android:anim/accelerate_decelerate_interpolator" #插值器,后面单独讲
/>


Translate xml使用方式

  xml的方式是比较常见的动画使用方式,下面简单说下xml的使用方式

  第一步,在res文件夹下新建anim文件夹,并在anim文件夹新建translate.xml文件(名称随意),目录结构如下他所示:

  


  第二步,编写translate.xml文件内容,这里示例如下

  

<?xml version="1.0"  encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="50"
android:fromYDelta="0"
android:toYDelta="200"
android:duration="2000"
android:fillAfter="true"
/>


  第三步,实例化translate动画,实例代码如下

  

private Animation translateAnimation;
……
translateAnimation = AnimationUtils.loadAnimation(AnimDemoActivity.this,R.anim.translate);


  第四步,执行动画

  

view.startAnimation(translateAnimation);


Translate 代码使用方式

  第一步,创建Translate的动画实例

  

private TranslateAnimation mTranslateAnimation;
……
mTranslateAnimation = new TranslateAnimation(0f,200f,0f,100f);


  第二步,设置动画相关参数

  

mTranslateAnimation.setDuration(2000);
mTranslateAnimation.setRepeatCount(4);
mTranslateAnimation.setRepeatMode(Animation.RESTART);
mTranslateAnimation.setInterpolator(this,android.R.anim.bounce_interpolator);


  第三步,执行动画

  

mIVAnim.startAnimation(mTranslateAnimation);


动画效果

  这个动画效果是基于上面代码实现方式的代码的效果,如下



结尾

Translate动画的介绍就基本结束了,这些知识点都比较简单,下篇博客将主要介绍四种动画的组合体,set动画,关于这些Demo的源码,可以点击这里下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: