本文内容是本人阅读诸多前辈的学习心得后整理的,若有雷同,请见谅

Android 动画 分类:帧动画,补间动画,属性动画  。

1.帧动画

  将一张张单独的图片连贯的进行播放,从而在视觉上产生一种动画的效果;有点类似于某些软件制作gif动画的方式。

2.补间动画

  补间动画又可以分为四种形式,分别是 alpha(淡入淡出),translate(位移),scale(缩放大小),rotate(旋转)。补间动画的实现,一般会采用xml 文件的形式;代码会更容易书写和阅读,同时也更容易复用。

用法:

  xml的标签alpha ,tanslate,scale,rotate .如果动画效果比较多,用set标签累加

  代码加载xml:  Animation animation = AnimationUtils.loadAnimation(this, R.anim.tween_1);

  代码写:直接  anim  = new RotateAnimation(-deValue, deValue, Animation.RELATIVE_TO_SELF, pxValue, Animation.RELATIVE_TO_SELF, pyValue);

  Android3.0 增加了 View.setAnimation(Animation anim)

 缺点:首先就是拓展性太差,只能写移动、缩放、旋转、渐变四种动画,以及这四种动画的组合,不支持自定义View的拓展。其次一个致命的缺点就是动画只是屏幕绘制上的动画,控件的属性并没有改变,一个经典的问题就是一个Button从一个地方移动到另一个地方,点击事件还是在原来的地方

2.属性动画(Android3.0推出)

  实质:通过不断对值进行改变,并不断将该值赋给对象的属性,从而实现该对象在该属性上的动画效果。除了能够实现补间动画实现的效果,还可做其他效果,扩展性强

        
        ObjectAnimation 可以直接显示 alpha,translate,scale,rotate4中效果。
        

或者XML写法:

    <animator xmlns:android="http://schemas.android.com/apk/res/android"
         // 设置属性同上
          android:valueFrom="0"
          android:valueTo="100"
        android:valueType="intType"/> //intType 或者 floatType

    步骤3:在Java代码中启动动画

    Animator animator = AnimatorInflater.loadAnimator(context, R.animator.set_animation);
    // 载入XML动画
    animator.setTarget(view);
    // 设置动画对象
    animator.start();

  下面我们介绍一TimeInterpolator 和  TypeEvaluator 

  TimeInterpolator (Api25)动画的 变化速度:比如迅速,先慢后加速,或加速后减速等。(Android3.0 新增TimeInterpolator 与 TypeEvaluator 作用于ValueAnimator,补间动画也可以用)

       TypeEvalutor: 负责改变动画最终的属性值(属性动画,可以修改View的属性值,比如颜色,点位置)

————————————————————————

 

AnimatorSet 具体使用

转载于:https://www.cnblogs.com/nuomiMA/p/9486206.html

android 动画学习总结的更多相关文章

  1. Android动画学习(二)——Tween Animation

    前两天写过一篇Android动画学习的概述,大致的划分了下Android Animation的主要分类,没有看过的同学请移步:Android动画学习(一)——Android动画系统框架简介.今天接着来 ...

  2. Android动画学习笔记-Android Animation

    Android动画学习笔记-Android Animation   3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...

  3. android动画学习

    android动画学习   转载自:http://www.open-open.com/lib/view/open1329994048671.html 3.0以前,android支持两种动画模式,twe ...

  4. Android动画学习(一)——Android动画系统框架简介

    2015-11-09补充:Drawable Animation极有可能是Frame Animation 这几天在找工作,面试的时候被问到了Android动画,之前完全没接触过这部分,直接给懵了,当然其 ...

  5. Android 动画学习笔记

    Android动画的两种:Frame帧动画.Tween动画(位移动画)[实现:存放目录res/anim] Tween动画:(位移.缩放.旋转):通过对场景里的对象不断做图像变换. 四种效果Alpha. ...

  6. android 动画学习

    android动画基础简介及使用方法:http://www.cnblogs.com/ldq2016/p/5407061.html

  7. Android动画学习笔记大集合

    其实动画这个东西我已经了解过很长一段时间了,但是一直没系统的整理过.关于android中的各种动画虽然都会用,但总怕自己会慢慢遗忘.这回看了几篇动画分析的文章,自己也学到了一些东西,在此就梳理一下. ...

  8. android拾遗——Android 动画学习笔记

    3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三 ...

  9. android 动画学习系列(一)

    老师今天开始讲android的游戏,讲到了view和surfaceview 下面是view的演示部分 private Paint paint; //游戏里很少用double,都是用long priva ...

随机推荐

  1. STS——BootDash的报错及解决

    首先先吐槽下自己,昨晚查了两小时bug,原因在于模板引擎thymeleaf编写时,  调用th:src属性时,其中的@{}表达式,花括号忘记括回来了. 这里给我的教训就是,写代码细致一点,检查的时候优 ...

  2. .NET项目升级手记:可为空引用

    c# 8引入了新特性:"可为空引用"(详情),这个功能个人觉得挺好的,能够非常明确的表现程序设计者的意图,编译器能够进行检查,尽最大可能减小NullReferenceExcepti ...

  3. BadMethodCallException : Call to undefined method App\Models\Article::setContainer()

    如果你执行 php artisan db:seed 发生如下错误 说是模型中不存在 静态方法 setContainer()方法,那么你应该检查下你的DatabaseSeeder.php 文件 中的 r ...

  4. zendframework3

    1.开发时关闭cache,正式上线后打开cache application config file (config/application.config.php),  disable this cac ...

  5. C/C++内存详解

    众所周知,堆和栈是数据结构中的两种数据结构类型,堆是一种具有优先顺序的完全二叉树(或者说是一种优先队列,因为它在一定的优先顺序下满足队列先进先出的特点),排队打饭就是它的典型实例,栈是一种后进先出的数 ...

  6. 31 Exception 异常处理

    /* * Exception in thread "main" java.lang.ArithmeticException: / by zero at com.itheima_01 ...

  7. defer使用小结

    defer 前言 defer的定义 defer执行的规则 为什么需要defer defer进阶 作为匿名函数 作为函数参数 defer命令执行的时机 defer配合recover 总结 参考 defe ...

  8. go中的线程的实现模型-P G M的调度

    线程实现模型 go中线程的实现是依靠 P G M M machine的缩写.一个M代表一个内核线程,或称“工作线程” P processor的缩写.一个P代表执行一个Go代码片段所需要的资源(或称“上 ...

  9. 设置xml以让通知spring 扫描 注解

    <!--下边三个都是告诉spring扫描注解--> 一.<context:component-scan base-package="log.logback"/&g ...

  10. CNVD

    漏洞编号 漏洞名称 漏洞积分 奖励时间 CNVD-2020-15798 中国平乐县委员会组织部网站管理系统登录存在弱口令漏洞 1.0 2020-03-09 09:58:46.0 CNVD-2020-1 ...