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

android学习笔记——android动画Animation的讲解

2016-01-06 15:37 615 查看
android动画的详解可以参考这里:http://www.360doc.com/content/13/0102/22/6541311_257754535.shtml
这里详细介绍了一下动画详解,非常详尽。回头看自己写的,真是shit!

有必要更新一下这篇文档了,我们先介绍一下

一、Animations介绍

Animations是一个实现android UI界面动画效果的API,Animations提供了一系列的动画效果,可以进行旋转、缩放、淡入淡出等,这些效果可以应用在绝大多数的控件中。

二、Animations的分类

Animations从总体上可以分为两大类:

1.Tweened Animations:该类Animations提供了旋转、移动、伸展和淡出等效果。Alpha——淡入淡出,Scale——缩放效果,Rotate——旋转,Translate——移动效果。

2.Frame-by-frame Animations:这一类Animations可以创建一个Drawable序列,这些Drawable可以按照指定的时间间歇一个一个的显示。

三、Animations的使用方法(代码中使用)

Animations extends Object implements Cloneable

使用TweenedAnimations的步骤:

1.创建一个AnimationSet对象(Animation子类);

2.增加需要创建相应的Animation对象;

3.更加项目的需求,为Animation对象设置相应的数据;

4.将Animatin对象添加到AnimationSet对象当中;

5.使用控件对象开始执行AnimationSet。

  Tweened Animations的分类

  1、Alpha:淡入淡出效果

  2、Scale:缩放效果

  3、Rotate:旋转效果

  4、Translate:移动效果

Animation的四个子类:
  AlphaAnimation、TranslateAnimation、ScaleAnimation、RotateAnimation

下面我就来用代码展示一下怎么用
//需要用到一个AnimationSet的类,

AnimationSet animationSet = new AnimationSet(true);
AlphaAnimation animation = new AlphaAnimation(0,1);

animation.setDuration(10000);
ScaleAnimation animation1 = new ScaleAnimation(1,4,1,4);

animation1.setDuration(5000);
TranslateAnimation animation2 = new TranslateAnimation(20,400,20,400);

animation2.setDuration(5000);
//将多个Animation加到一起
animationSet.addAnimation(animation);

animationSet.addAnimation(animation1);
animationSet.addAnimation(animation2);
//最后给控件设置上

imageView.setAnimation(animationSet);

还可以在XML中编写好这些补间动画

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android"

android:interpolator="@android:anim/accelerate_interpolator"

android:shareInterpolator="true">

<alpha

android:fromAlpha="0.2"

android:toAlpha="1.0"

android:duration="2000"

/>
<translate

android:fromXDelta="0%"
android:toXDelta="100%"

android:fromYDelta="0%"

android:toYDelta="100%"
android:duration="3000"/>

</set>

然后需要在java代码要做的工作:

//用xml来使用Animations动画

Animation animation = AnimationUtils.loadAnimation(MainActivity.this,R.anim.translate);
imageView.setAnimation(animation);

上述只是介绍了补间动画,并没有介绍帧动画。可以参考上方给出的连接,仔细阅读,非常非常的详尽!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: