Android官方ApiDemo中animation部分代码要点整理

Android 动画↑ 1.Android动画 Android系统的动画主要分为三大类: ①View Animation 视图动画:在古老的Android版本系统中就已经提供了,只能被用来设置View的动画。 ②Drawable Animation (也叫Frame动画、帧动画):专门用来一个一个的显示Drawable的resources,就像放幻灯片一样。 ③Property Animation属性动画:只对Android 3.0(API 11)以上版本的Android系统才有效,这种动画可以设置给任何Object,包. 阅读详情


ApiDemo动画代码技术点整理

ApiDemo中com.example.android.apis.animation包内有10多个demo源码,主要是最新的属性动画,少量补间动画,还有布局动画及最新的Transitions框架,以下是这个包中各个demo源码的要点整理。在这个包之外还有很多动画,多是补间动画及相关布局动画,代码比较分散,搜索关键字是“animation”和布局相关的“Transition”等

AnimationCloning
     clone
     AnimatorSet,也可以clone

AnimationLoading
     XML定义animator
          ValueAnimator和ObjectAnimator的XML定义不同,后者要提供属性名

AnimationSeeking
     bounceAnim.setCurrentPlayTime(seekTime);设置当前时间位置

AnimatorEvents
     event:start/cancel/repeat/end
     同一个对象,两个动画同时播放?说明动画是UI线程之外的异步线程?

BouncingBalls
            AnimatorSet bouncer = new AnimatorSet();
            bouncer.play(bounceAnim).before(squashAnim1);
            bouncer.play(squashAnim1).with(squashAnim2);
            bouncer.play(squashAnim1).with(stretchAnim1);
            bouncer.play(squashAnim1).with(stretchAnim2);
            bouncer.play(bounceBackAnim).after(stretchAnim2);

     要点是多个动画的播放次序、依赖关系
     参考

CustomEvaluator
         public class XYEvaluator implements TypeEvaluator {
        public Object evaluate(float fraction, Object startValue, Object endValue) {
            XYHolder startXY = (XYHolder) startValue;
            XYHolder endXY = (XYHolder) endValue;
            return new XYHolder(startXY.getX() + fraction * (endXY.getX() - startXY.getX()),
                    startXY.getY() + fraction * (endXY.getY() - startXY.getY()));
        }
    }

LayoutAnimationsByDefault
     使用系统缺省动画,无需再编写代码
          android:animateLayoutChanges="true"

FixedGridLayout
     最简的自定义布局
     可以作为模板
     自定义布局的复杂度取决于要支持多少布局参数,如果很少,或如此例是Fixed的,那么自定义布局很简单

LayoutAnimations
     布局动画控制器android.animation.LayoutTransition
     增加和删除两种事件,导致4种动画
     KeyFrame
     PropertyValuesHolder及对应的构造方法ObjectAnimator.ofPropertyValuesHolder
     可变参数导致动画效果
     被影响的child很多,但只设置一个动画,其他拷贝

LayoutAnimationsHideShow
     似乎没有新东西

ListFlipper
     绕Y轴(rotationY)或X轴旋转,而不是绕Z轴(rotation)旋转
     3D到平面的投影系统
     将View看成三维空间中的一个平面

MultiPropertyAnimation
     带光影的ball的画法

ReversingAnimation
     带光影的ball的画法

Rotate3dAnimation
      public   class   Rotate3dAnimation   extends   Animation {
     覆盖applyTransformation(),在其中实现自定义投影及动画
          需要查询Camera和Matrix资料才能看明白
     Camera ---- 照相机、投影机?
          A camera instance can be used to compute 3D transformations and
          generate a matrix that can be applied, for instance, on a Canvas.
     Matrix类
     补间动画
     可能是补间动画的操作
          mContainer.startAnimation(rotation);

Transition3d
     在一个动画之后接另一个动画,通过container.post()来实现。注意post的参数是一个Runnable
            private   final   class   DisplayNextView   implements   Animation.AnimationListener {
           public   void   onAnimationEnd (Animation animation) {
              mContainer .post( new   SwapViews( mPosition ));
        }
    }

Transitions
     Scene
     TransitionManager
     注,Transitions框架需要在Android 4.4以后版本中运行





优快云专栏限时活动!福利公告必读! 本人优快云付费专栏周排名27名专业博主,每周文章平均阅读量约7w以上! 阅读详情

相关推荐

点云图的学习

一。点云地图拼接 1.1 配置运行环境 首先配置安装opencv3,安装完成后如下图: 然后配置点云图工具pcl,直接使用apt即可安装,安装后如下图: 最后使用点云工具观察点云图: 1.2 原理解析 总的来说由多角度拍摄图片拼接为点云3D图,是通过相机的内参,将像素坐标转化为相机坐标,再通过外参将相机坐标转化为世界坐标系,然后将每张图片的像素绘制填充于同一个世界坐标系下面,形成点云3D图。...

ff_xun的博客 1万+

Android Animator(动画)类 详解

Android Animator动画类 详解动画分为3种ValueAnimator类ObjectAnimator类AnimatorSet类Animator的addListener()方法(监听器)适配器AnimatorListenerAdapter使用XML编写动画TimeInterpolator(时间补间器)接口ViewPropertyAnimator的用法 动画分为3种 逐帧动画(frame-by-frame animation) 类似于动画片的工作原理 补间动画(tweened animatio

weixin_45558166的博客 4092

分享通达信破解交易接口的使用!

那其实通达信破解交易接口的使用方法比较复杂,这里以MA均线指标为例子,只要理解了这些操作步骤,就可以很容易地使用其他指标包括自己编写的指标来进行交易。委托结果(包含委托编号), 需要分配 1024*1024 字节的空间。委托结果数组, 每项结果需要分配 1024*1024 字节的空间。0: 买入, 1: 卖出, 2: 融资买入, 3: 融券卖出,4: (市价委托)上海五档即成剩撤, 深圳五档即成剩撤。4: 买券还券, 5: 卖券还款, 6: 现券还券。0: 上海限价委托, 深圳限价委托。

1841085904的博客 2358

Android动画机制及其使用

作为交互的一部分,开发Android应用的时候时常会用到动画,这样可以使应用看起来不那么死板。某些较为特定的点击可以使用有趣的动画引起注意,进而可以获取更多的点击量。随着Android系统的不断完善,其动画机制也不断地改进,如早期的帧动画和补间动画,3.0之后加入属性动画,以及之后5.x加入的SVG矢量动画等。以下讲一些较为常用的动画实现方式,即帧动画、补间动画和属性动画。逐帧动画(Frame An

一朝天子一朝陈的博客 5527

Android双目摄像头(RGB+IR)实时预览与人脸活体检测实战指南

本文详细介绍了Android双目摄像头(RGB+IR)实时预览与人脸活体检测的实战指南。通过双摄同步预览、人脸检测与活体判断等技术实现,提升安全认证的准确性和鲁棒性。文章还提供了开发环境搭建、常见问题解决方案及性能优化建议,帮助开发者快速掌握双目摄像头在Android平台的应用。

vulkan6gpu的博客 690

一文详解声码器

声码器(Vocoder)是语音信号处理领域的核心技术,其本质是通过“分析 - 参数化 - 合成” 的闭环流程,实现语音的高效编码、转换或生成。它不仅是早期语音通信的关键工具,更是现代 AI 语音技术(如 TTS、语音转换)的核心组件。以下从原理、技术分类、关键模块、应用及发展趋势展开详细解析。

weixin_41413777的博客 1351

android : 属性动画

//属性动画 public final class ObjectAnimator extends ValueAnimator {...}public class ValueAnimator extends Animator {...}public final class AnimatorSet extends Animator {...}//补间动画 public class AnimationSe

火星男孩的分享空间 3461

Python爬虫:招聘网站岗位要求、薪资与求职者数据爬取与分析

通过本文的教程,我们学习了如何通过 Python 编写招聘数据爬虫,爬取招聘网站上的岗位要求、薪资和求职者数据,并通过数据存储、清洗、分析和可视化,获取有价值的信息。网站如智联招聘、猎云网、前程无忧等,都提供了大量的招聘信息,包括岗位要求、薪资范围、工作经验、学位要求、招聘公司等。本文将介绍如何通过 Python 编写爬虫,爬取招聘网站上的岗位要求、薪资、求职者数据,并通过数据存储、分析和可视化等手段,为求职者或招聘者提供实用的信息和决策支持。通过循环抓取多个页面的数据,可以获取不同岗位的信息。

2201_76125261的博客 721

【Android-动画】属性动画基本介绍及使用方式

首先,我们要区别属性动画与补间动画的区别: 属性动画:真正改变了控件的属性 补间动画:视觉现象,没有改变都控件真正的值(如:当控件发送位置变化时,如果设置了点击事件,只有控件原位置的地方才有点击事件!) 属性动画重要的两个类: ValueAnimator ObjectAnimator.ofFloat() ———————————————————————————————— 以一个textVie...

qq_40716430的博客 630

保研考研机试攻略(满分篇):第二章——满分之路上(1)

保研考研机试攻略(满分篇):第二章——满分之路上(1)2.1计算机和基础+2.2进阶背包问题+2.3毛毛虫算法

qq_63349644的博客 1194

基于NSGA2算法的无人机三维路径规划MATLAB实现

传统的路径规划方法多采用启发式搜索算法,然而这些方法往往带着局限性,不能有效地克服无人机飞行任务中所遇到的复杂环境与约束。而基于遗传算法的NSGA2(Non-dominated Sorting Genetic Algorithm II)方法则可以在优化目标之间找到最好的平衡点,是一种十分优秀的解决方案。本文介绍了基于NSGA2算法的无人机三维路径规划MATLAB实现。NSGA2算法是一种多目标优化算法,通过非支配排序和拥挤度距离来评估个体的适应度和选择新个体,从而产生一组非支配解。3.选择新个体组成P1;

CyberLynxX的博客 982

android animate xml,Android 动画

Android中动画分为三种:逐帧动画补间动画属性动画逐帧动画逐帧动画类似于gif或是电影的原理,通过将一系列图片连续播放来获得动画效果。它本质是一种Drawable,由ImageView播放。定义逐帧动画有两种方式:drawable文件夹下定义xml:android:oneshot="boolean">android:drawable="@..."android:duration="int...

weixin_35678674的博客 418

[VT虚拟化驱动]利用EPT实现无痕HOOK

本章利用讲EPT无痕HOOK

吾无法无天的博客 1万+

Android Animation 动画使用详解

【代码】Android Animation 动画使用详解。

weixin_45298122的博客 470

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Android动画开发——Animation动画效果

动画类型 Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 JavaCode中 AlphaAnimation 渐变透明度动画效果

LightSun----让成功成为可能! 3982

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Android 属性动画

属性动画框架 属性动画可以使用 ViewPropertyAnimator、ObjectAnimator、ValueAnimator 这三种 Animator。 它们其实是一种递进的关系:从左到右依次变得更加难用,也更加灵活。但它们的性能是一样的,因为 ViewPropertyAnimator 和 ObjectAnimator 的内部实现其实都是 ValueAnimator,ObjectAnimator 更是本来就是 ValueAnimator 的子类,它们三个的性能并没有差别。 它们的差别只是使用的便捷性.

非也缘也的博客 409

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Android Animation API介绍----简单分析ViewAnimation的执行原理

Android用于描述动画的抽象基类,Android本身提供的动画和我们自定义的动画一般都继承Animation. Interpolator & Animation.AnimationListener Interpolator:用来描述动画运行的过程 Animation.AnimationListener:动画执行过程的回调,目前提供了onAnimationStart,onAnima...

为码消得人憔悴 773

Android ApiDemo学习(五)Animation—— 6 Hide-Show Animation

动画效果: 点击ShowButtons:显示四个按钮0-3 点击按钮0-3,自己消失 勾选checkbox1:按钮消失、出现有转圈的动画效果 勾选checkbox2:按钮x消失,之后的按钮会前移,占据x的原有位置   xml布局文件:可以看到静态的布局文件里,没有按钮0-3,这四个按钮是java代码动态控制的   LayoutAnimationsHideShow.java:

huxueyan521的专栏 2217

Android中Animation动画的介绍及用法详解

Android中Animation动画的介绍及用法详解 Android SDK介绍了2种Animation: (1)Tween Animation(渐变动画): 通过对特定的对象做图像变换如平移、缩放、旋转、淡出/淡入等产生动画效果 (2)Frame Animation(帧动画): 创建一个Drawable序列,这些Drawable可以按照指定的时间间隔一个一个的显示,也就是顺序播放事先做好的图

It一zhai男 918

android 同根动画_[转载]Android anim动画切换效果

关于动画的实现,Android提供了Animation,在Android SDK介绍了2种Animation模式:1. Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果,即是一种渐变动画;2. Frame Animation:顺序播放事先做好的图像,是一种画面转换动画。动画类型下面先来看看Android提供的动画类型。Android的animatio...

weixin_42515336的博客 155

Android animation动画

给大家分享一份移动架构大纲,包含了移动架构师需要掌握的所有的技术体系,大家可以对比一下自己不足或者欠缺的地方有方向的去学习提升;《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!给大家分享一份移动架构大纲,包含了移动架构师需要掌握的所有的技术体系,大家可以对比一下自己不足或者欠缺的地方有方向的去学习提升;[外链图片转存中…(img-zyYFcAt8-1711533059431)]《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,

2401_83330193的博客 1119

Android 动画详解(二)之animation组合使用

“基本功不扎实,功力永远无法登峰造极” 本次上次介绍的是animation的基本使用,大家可以先看看Android 动画详解(一)之animation,经过上一篇的沉淀,相信大家已经对Android的animation的动画已经有一定的积累,本篇进说说animation相对高级一些的使用。首先是动画的连续播放反两种方式: 1、Java代码监听:// 先加载第一个动画的实例 Animatio

Lzn0511的博客 1342

android动画详解

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

_檬小呆的博客 503

Android 中的 Animation 应用

Android 中的 Animation 应用(一)   原文地址::http://ybxu-123.blog.163.com/blog/static/5947377020106632910792/       最近在应用中用到了 Animation 。在网上浏览了下,感觉有些东西讲得很精辟。因此,我想总结下。 Drawable 最强大的功能是:显示Animation。Android

xqhrs232的专栏 2534

Android自带ApiDemo里的动画分析-AnimationCloning

此例子代码是

学习点滴的专栏 695

android Animation介绍

Animation介绍: 在Android SDK介绍了2种Animation模式: 1. Tween Animation:间动画,通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果,即是一种渐变动画; 2. Frame Animation:帧动画,顺序播放事先做好的图像,是一种画面转换动画。 Android的animation由四种类型组成 在XML文件中: alpha...

weixin_30650859的博客 155
上一篇: 代码及UI价值观
下一篇: View及ViewGroup的布局方法及相互关系
Max2005
博客等级 码龄22年 45粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值