Android--Animations的使用(一)--Tweened Animations

Animations的使用(一)--

1、什么是Animation

Animations提供了一系列的动画效果,这些效果可以应用在绝大多数的控件。

旋转,缩放,淡入淡出。可以用在大多数控件中,

2、Animations的分类

从总体上来讲分两大类:

第一类:Tweened Animations   渐变动画

该类Animations提供了旋转,移动,伸展淡入淡出等效果。

第二类:Frame-by-Frame Animations

和电影类似,电影实际上是一系列照片的组合,一系列照片滚动,利用人们视觉残留的效果。24/s张照片,就可以认为是连续的

该类Animations可以创建一个Drawable(图片)序列,这些Drawable可以按照指定的时间间隙一个一个的显示。

Tweened Animations的分类

  1. Alpha  淡入淡出效果
  2. Scale  缩放效果
  3. Rotate 旋转效果
  4. Translate 移动效果

3、使用Tweened Animations的步骤

  1. 创建一个AnimationSet对象,     Set 这是一个集合,可以把几个动画对象放在一起,可以一遍旋转一遍移动。
  2. 根据需要创建相应的Animation对象         Animation 是一个父类,有四个子类,分别代表上面的
  3. 根据软件的动画的需求,为Animation对象设置相应的数据     运行时间,轴
  4. 将Animation对象添加到AnimationSet对象当中
  5. 使用控件对象开始执行AnimationSet

Animations的使用方法,有两大类,一类是在代码中实现,一类是在XML里面实现。

1)Alpha效果实现(淡入淡出) 

    private class AlphaButtonListener implements DialogInterface.OnClickListener {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            //创建一个AnimationSet对象,这里布尔型的参数,直接设置为true就可以了
            AnimationSet animationSet = new AnimationSet(true);
            //创建一个AlphaAnimation对象,这里1表示fromAlpha(不透明),0表示toAlpha(透明)
            AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0);
            //设置动画执行的时间(单位:毫秒)
            alphaAnimation.setDuration(1000);
            //将AlphaAnimation对象添加到AnimationSet中
            animationSet.addAnimation(alphaAnimation);
            //使用image的方法开始执行动画
            imageView.startAnimation(animationSet);
        }
    }

2)Rotate效果实现(旋转效果)

   

    private class RotateButtonListener implements DialogInterface.OnClickListener {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            //RotateAnimation(float fromDegrees, float toDegrees,
            //                  int pivotXType, float pivotXValue,
            //                  int pivotYType, float pivotYValue)
            //fromDegrees 起始角度   0就是12点钟方向。
            //toDegrees   终止角度   360是一样的。
            //pivotXType  旋转的轴X的坐标类型  Animation.ABSOLUTE(绝对坐标), Animation.RELATIVE_TO_SELF(坐标相对于自身), or Animation.RELATIVE_TO_PARENT(坐标相对于父控件).
            RotateAnimation rotateAnimation = new RotateAnimation(0, 360,
                    Animation.RELATIVE_TO_PARENT,1f,
                    Animation.RELATIVE_TO_PARENT,0f);
        }
    }

后面4个参数就是定义旋转的圆心

3)Scale的缩放效果

public void onClick(DialogInterface dialog, int which) {
            //8个参数
            //public ScaleAnimation(float fromX, float toX, float fromY,float toY,
            // int pivotXType, float pivotXValue,
            // int pivotYType, float pivotYValue) {
            ScaleAnimation scaleAnimation = new ScaleAnimation(
                            1,0.1f,1,0.1f,          /**横纵坐标变到以前的0.1*/
                            Animation.RELATIVE_TO_SELF,0.5f,  /**设置缩放的旋转轴*/
                            Animation.RELATIVE_TO_SELF,0.8f);

        }

4)translate效果实现(移动效果)

    private class TranslateButtonListener implements DialogInterface.OnClickListener {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            // public TranslateAnimation(
            // int fromXType, float fromXValue,         设置X方向的起始位置
            // int toXType, float toXValue,             设置X方向的终止位置
            // int fromYType, float fromYValue,         设置Y方向的起始位置
            // int toYType, float toYValue)             设置Y方向的终止位置
            TranslateAnimation translateAnimation = new TranslateAnimation(
                    Animation.RELATIVE_TO_SELF,0f,
                    Animation.RELATIVE_TO_SELF,0.5f,
                    Animation.RELATIVE_TO_SELF,0f,
                    Animation.RELATIVE_TO_SELF,1f);
        }
    }

4、AnimationSet的通用属性

AnimationSet里面有很多个Animaition

        animationSet.setDuration(1000);     //设置动画执行的时间
        animationSet.setFillAfter(true);    //动画执行完毕后,停留在控件结束的状态
        animationSet.setFillBefore(false);  //动画执行完毕后,停留在控件开始的状态
        animationSet.setStartOffset(2000);  //设置动画执行之前的等待时间
        animationSet.setRepeatCount(3);      //设置动画的重复执行次数

时间: 2024-10-05 05:04:45

Android--Animations的使用(一)--Tweened Animations的相关文章

android Tweened Animations

Android提供了两种类型的动画: 一类是Tween动画:提供了旋转.移动.伸展和淡出等效果: 第二类是Frame-by-frame动画:这一类Animations可以创建一个Drawable序列,这些Drawable可以按照指定的时间间歇一个一个的显示: 这里主要详细看一下Tween动画. Tweened Animations一共有四类:1.Alpha:淡入淡出效果 表示一个控件的透明度的变化.通常使用其构造方法 AlphaAnimation(float fromAlpha, float t

LEARNING CSS3 ANIMATIONS AND TRANSITIONS(1)

想学CSS3动画来着,但是国内这方面的书确实少,讲的例子动画例子往往也不是很好,于是狠下心上网买了本国外的书,<LEARNING CSS3 ANIMATIONS AND TRANSITIONS>,在接下来的时间,我想通过写博客的方式来记录读书笔记并翻译下这本书,,本人英语不好,翻译不恰当的地方,还望各位看官见谅. 今天是第一天就翻译下每个章节的介绍好了. 第一章 使用CSS3动画 本书的第一章浅谈了浏览器的支持,包括对Modernizer Javascript库的介绍,一个可以让你检测用户的浏

Android中Animation 详细解读

Animation从总体来说可以分为两类: 1.Tweened Animations:该类提供了旋转,移动,伸展,淡入淡出等效果 Tweened Animations也有四种类型: 1.     Alpha:淡入淡出效果 2.     Scale:缩放效果 3.     Rotate:旋转效果 4.     Translate:移动效果 设置动画有两种方式:在xml文件中或者在Java代码中 在XML中设置动画效果步骤: 1.     在res文件夹下新建一个名为anim的文件夹 2.    

*Android动画View Animation

Animations 一.Animations介绍 Animations是一个实现android UI界面动画效果的API,Animations提供了一系列的动画效果,可以进行旋转.缩放.淡入淡出等,这些效果可以应用在绝大多数的控件中. 二.Animations的分类 Animations从总体上可以分为两大类: 1.Tweened Animations:该类Animations提供了旋转.移动.伸展和淡出等效果.Alpha——淡入淡出,Scale——缩放效果,Rotate——旋转,Transl

Android中Animation详解

Animation从总体来说可以分为两类: Tweened Animations:该类提供了旋转,移动,伸展,淡入淡出等效果 Frame-By-Frame Animations:该类可以创建一个Drawable序列,这些Drawable可以按照指定的事件间隔一个一个显示,和动画片差不多 一.Tweened Animations Tweened Animations也有四种类型: Alpha:淡入淡出效果Scale:缩放效果Rotate:旋转效果Translate:移动效果 设置动画效果可以在XM

Android学习二_八:Animation的使用(一) (转)

一.Animations介绍 Animations是一个实现android UI界面动画效果的API,Animations提供了一系列的动画效果,可以进行旋转.缩放.淡入淡出等,这些效果可以应用在绝大多数的控件中. 二.Animations的分类 Animations从总体上可以分为两大类: 1.Tweened Animations:该类Animations提供了旋转.移动.伸展和淡出等效果.Alpha——淡入淡出,Scale——缩放效果,Rotate——旋转,Translate——移动效果.

Android Animation详解一

讲解anroid.view.animation. android.view.animation Provides classes that handle tweened animations. Android provides two mechanisms that you can use to create simple animations: tweened animation, in which you tell Android to perform a series of simple

android 动画(转载)

转载地址:http://www.cnblogs.com/qiengo/archive/2012/05/03/2480386.html Android Animation Contents: Animations Tween Animations AnimationSet Interpolator Frame-By-Frame Animations LayoutAnimationsController AnimationListener  Animations 一.Animations介绍 Ani

android Animation效果

Tweened Animations的分类: 1.Alpha:淡入淡出效果 2.Scale:缩放效果 3.Rotate:旋转效果 4.Translate:移动效果 Android: 解决动画完成后位置恢复到初始位置的问题 这种现象很正常,因为TranslateAnimation只负责实现位移动画效果,并不会真正的改变LinearLayout的位置,所以需要加一个AnimationListener ,在动画结束(onAnimationEnd() )后,通过设置LayoutParam里相关属性来改变