Android下的动画

        ------你需要努力,你还没资格休息-----  Android下的动画有三种:
      tween补间动画、frame帧动画、property属性动画(Android3.0后提出来的)。        补间动画:           Translation(平移)、Rotation(旋转)、Alpha(透明)、Scale(缩放)                  代码方式:透明动画AlphaAnimation alpha=new AlphaAnimation(0,1);                              alpha.setDuration(2000);//执行的时间                              alpha.setFillAfter(true);//是否维持结束时状态                  xml方式:在es/anim文件夹下面创建四个xml文件                       <?xml version="1.0" encoding="utf-8"?>
                      <alpha xmlns:android="http://schemas.android.com/apk/res/android"
                      android:fromAlpha="1.0"
                      android:toAlpha="0.5"
                      android:fillAfter="true"
                      android:duration="2000" >
                     </alpha>                   在代码中引用AnimationUtils.loadAnimation(this, R.anim.anim_alpha);                           执行动画的控件调用方法startAnimation(alpha)执行动画
             动画集合AnimationSet set=new AnimationSet(true),通过set.addAnimation();//添加动画                        要执行的动画的空间如RelativeLayout对象调用startAnimation(set);//执行动画       帧动画:         像电影一样,隔段时间改变背景图片。在drawable创建一个xml文件使用                 <animator-list>                  <item android:drawable="@drawable/girl_11";android:duration="200"/>                </animator-list>    属性动画:         继承关系:Animator->ValueAnimator->ObjectAnimator             提供了ofInt、ofFloat、ofObject。

           objectAnimator:
              如:objectAnimator.ofFloat(mImageView,"translationx",0f,200f).setDuration(200).start();                 当多个动画时候使用propertyValuesHolder:                             PropertyValuesHolder pvhX = PropertyValuesHolder.ofFloat("alpha", 1f, 0f, 1f);                             PropertyValuesHolder pvhY = PropertyValuesHolder.ofFloat("scaleX", 1f, 0, 1f);                               PropertyValuesHolder pvhZ = PropertyValuesHolder.ofFloat("scaleY", 1f, 0, 1f);                             ObjectAnimator.ofPropertyValuesHolder(view, pvhX, pvhY,pvhZ).setDuration(1000).start();          valueAnimator:               和objectanimator用法相似,但是比objectanimator跟灵活,不需要操作属性,但一定要有getter和setter方法

public void verticalRun( View view)
                   {
                 ValueAnimator animator = ValueAnimator.ofFloat(0, mScreenHeight
                       - mBlueBall.getHeight());
                         animator.setTarget(mBlueBall);
                 animator.setDuration(1000).start();
                // animator.setInterpolator(value)
             animator.addUpdateListener(new AnimatorUpdateListener()
         {
          public void onAnimationUpdate(ValueAnimator animation)
         {
          mBlueBall.setTranslationY((Float) animation.getAnimatedValue());
               }
             });
       }

自定义属性:抛物线

public void paowuxian(View view)
    {

ValueAnimator valueAnimator = new ValueAnimator();
      valueAnimator.setDuration(3000);
      valueAnimator.setObjectValues(new PointF(0, 0));
       valueAnimator.setInterpolator(new LinearInterpolator()); //源码中的,插值
        valueAnimator.setEvaluator(new TypeEvaluator<PointF>() //自定义TypeEvaluator返回PoinF类型
       {
    // fraction = t / duration
     @Override
      public PointF evaluate(float fraction, PointF startValue,
        PointF endValue)
        {
       Log.e(TAG, fraction * 3 + "");
       // x方向200px/s ,则y方向0.5 * 10 * t
      PointF point = new PointF();
        point.x = 200 * fraction * 3;
      point.y = 0.5f * 200 * (fraction * 3) * (fraction * 3);
      return point;
     }
      });

valueAnimator.start();
         valueAnimator.addUpdateListener(new AnimatorUpdateListener()
      {
           @Override
        public void onAnimationUpdate(ValueAnimator animation)
        {
         PointF point = (PointF) animation.getAnimatedValue();
         mBlueBall.setX(point.x);
         mBlueBall.setY(point.y);

}
         });
      }

       ----------小弟才艺不精,如有纰漏.请各位赐教------ 
时间: 2024-08-01 10:46:39

Android下的动画的相关文章

Android(java)学习笔记264:Android下的属性动画高级用法(Property Animation)

1. 大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了.但是,正如上篇文章当中所说到的,属性动画对补间动画进行了很大幅度的改进,之前补间动画可以做到的属性动画也能做到,补间动画做不到的现在属性动画也可以做到了.因此,今天我们就来学习一下属性动画的高级用法,看看如何实现一些补间动画所无法实现的功能. 2. ValueAnimator的高级用法: 在上篇文章中介绍补间动画缺点的时候有提到过,补间动画是只能对

android开发(31) 动画演示 - 从页面底部向上弹出dialog,消失时逐渐向下

我想实现一个效果,从底部向上逐渐弹出.如下图所示: 1.点击 显示 按钮时,一个dialog对话框从底部慢慢向上弹出. 2.关闭dialog时, dialog缓慢的移动向底部消失.很平滑的效果.     实现方式: 在activity中写代码如下 public class MainActivity extends Activity { Button button1; @Override protected void onCreate(Bundle savedInstanceState) { su

Windows系统下制作Android开关机动画

在Windows系统下,做Android开关机动画时,需要注意几个问题: 1.选择压缩时 2.压缩的格式:

Android(java)学习笔记198:Android下的帧动画(Drawable Animation)

1.帧动画: 帧动画顾名思义,一帧一帧播放的动画就是帧动画. 帧动画和我们小时候看的动画片的原理是一样的,在相同区域快速切换图片给人们呈现一种视觉的假象感觉像是在播放动画,其实不过是N张图片在一帧一帧的切换罢了. 2.Android如何实现播放帧动画如下: (1)首先我在网上下载了一张gif动态图片,如下: 这是一个gif动态图片,其实它是很多静态图片相同区域快速切换,我们怎么样把这个gif动态图片中的静态图片从中抽离出来? 这里我使用了一个小工具gifsplitter(大家可以百度在网上自行下

android 点击下弹动画实现

下弹动画的实现 下弹动画在很多应用都有使用,比如豌豆荚中的应用介绍界面,百度手机助手的应用介绍界面等. 只要熟悉android动画的使用接口,制作动画并不困难. 这里使用开源库nineoldandroids,其实和android3.0 以上直接使用动画接口是一样的. 实现效果 具体可以看youku动画:http://v.youku.com/v_show/id_XNjYyODgzNjQ4.html PS, 搞了半天GIF 才能播放.原来是最大边不能太大了.原来图片尺寸太大,被默认转成jpg了.现在

Android 使用动画效果后的控件位置处理 类似系统通知栏下拉动画

Android的动画的使用,请参考.Android的动画,在设计方面,我有点不太理解,觉得这样搞很怪,因为在控件动画后,即使设置了停留在动画结束时的位置,我们也确实看到了控件停在那个位置,但其实该控件的真实位置还是在原来动画前的那里.举个例子,如果有个Button,你给它设置了动画,让它移动到其他位置,当移动完成后,你会发现,点击Button没有任何效果,而在Button原来的位置,就是动画前的位置点击,明明没有任何控件,却看到了点击Button的效果.不知道Google为什么要这样设计.解决思

Android下EditText的hint的一种显示效果------FloatLabelLayout

效果: 此为EditText的一种细节,平时可能用的不多,但是用户体验蛮好的,特别是当注册页面的项目很多的时候,加上这种效果,体验更好 仅以此记录,仅供学习参考. 参考地址:https://gist.github.com/chrisbanes/11247418 采用的是Android 3.0的动画,所以有版本限制,可以用  nineoldandroids  做向下兼容 ,当然上面的网址也给了另一种方式做向下兼容. demo地址:http://download.csdn.net/detail/ab

初识android中的动画

动画效果可以大大提高界面的交互效果,因此,动画在移动开发中的应用场景较为普遍.掌握基本的动画效果在成熟的软件开发中不可或缺.除此之外,用户对于动画的接受程度远高于文字和图片,利用动画效果可以加深用户对于产品的印象.因此本文给出安卓设计中几种常见的动画效果. 基础知识 在介绍安卓中的动画效果之前,有必要介绍一下安卓中的图片处理机制.图片的特效包括图形的缩放.镜面.倒影.旋转.平移等.图片的特效处理方式是将原图的图形矩阵乘以一个特效矩阵,形成一个新的图形矩阵来实现的.矩阵Matrix 类,维护了一个

Android开发之动画效果浅析

Android开发之动画效果浅析 请尊重他人的劳动成果,转载请注明出处:Android开发之动画效果浅析 程序运行效果图: Android动画主要包含补间动画(Tween)View Animation.帧动画(Frame)Drawable Animation.以及属性动画Property Animation.下面依次介绍一下各个动画. 1.   补间动画(Tween) Tween动画,通过对View 的内容进行一系列的图形变换 (包括平移.缩放.旋转.改变透明度)来实现动画效果.动画效果的定义可