首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏三流程序员的挣扎

    Android 动画总结(9) - 过渡动画

    前面已经介绍过一部分 Activity 之间的过渡动画。现在讲的不是 Activity 转场,而是同一个页面的 View 之间的过渡。 TransitionManager - Scene 切换的控制器 TransitionManager.go() 要创建两个布局,分别是动画前的布局和动画后的布局。 isCurrentAtScene1 } } TransitionManager.go(toScene, Slide()),第二个参数是 Transition 是动画效果,如果不传第二个参数就是默认的淡入淡出动画 调用此方法后,它会在监听到 sceneRoot 的视图层级结构发生的变化时,使用传入的 transition 实现过渡动画。 transition2.gif 未完,更详细的见 Android Transition Framework详解---超炫的动画框架

    3K11发布于 2018-09-11
  • 来自专栏大史住在大前端

    【带着canvas去流浪(9)】粒子动画

    粒子特效的本质还是一个逐帧动画,所以我们仍然可以使用上一节中提到的动画编程范式来实现它。本节的教程将实现下面这样一个粒子效果: ? 这是笔者第5个版本,看起来还挺像回事的吧,本篇中我们将逐步实现这样一个酷炫的粒子动画,也邀请你一起来看看开发过程中那些各种令人哭笑不得的问号黑人脸时刻。 二. 开发中遇到的问题 2.1 卡顿 想实现上面的动画,我们首先要做的是构建一个静态的粒子点阵,构建的过程并不复杂,无非就是x和y两个方向上以固定间距来画点。 这里只是一个低级错误,就是在step( )没有重绘画布,canvas就像一张画纸,你所绘制的一切都保留在上面直到你用底色色块将其覆盖然后重绘,由于基本的视觉暂留,高速的重绘就成了动画。 其实将复位点作为弹簧模型的平衡点是有问题的,因为简谐振动在过中点的时候虽然不受力,但其速度却达到最大,这就使得逐帧动画之间的位移变化很大,所以才会出现上述的最小复位距离很难确定的问题。

    1.8K40发布于 2019-05-15
  • 来自专栏Android开发指南

    9.视差特效、回弹动画、overScrollBy

    松手之后执行动画, 类型估值器 activity_main <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android boolean onTouchEvent(MotionEvent ev) { switch (ev.getAction()) { case MotionEvent.ACTION_UP: // 执行回弹<em>动画</em> , 方式一: 属性<em>动画</em>\值<em>动画</em> // 从当前高度mImage.getHeight(), 执行<em>动画</em>到原始高度mOriginalHeight final int startHeight = mImage.getHeight final int endHeight = mOriginalHeight; //              valueAnimator(startHeight, endHeight); // 执行回弹<em>动画</em> this.startHeight = startHeight; this.endHeight = endHeight; setInterpolator(new OvershootInterpolator()); //设置<em>动画</em>执行时长

    1.5K90发布于 2018-05-14
  • 来自专栏北京马哥教育

    动画演示9个超有趣的Linux命令

    Linux最强大的一个特征就是它有大量的各种小命令工具,这也可以称做是它最有趣的一个地方了。 在这些大量的有用的命令和脚本中,你会发现有少部 分命令工具不那么有用的——如果你不愿意说是完全没用处的话。 你要知道,Linux命令终端并不是总来干一些严肃的事情的,这里列举的几个没有实际用处、 但很有趣的命令. 它们的有趣并不是因为无用,而是真的有趣,接下来就让我们看看它们是如何搞怪的吧。 一、cmatrix 你应该看过好莱坞大片《骇客帝国》,相信你会对电影中那些神奇的场景着迷。 在Neo的眼里任何东西都能以计

    1.3K50发布于 2018-06-20
  • 来自专栏北京马哥教育

    动画演示9个超有趣的Linux命令

    作者 | 佚名 来源 | 51CTO 糖豆贴心提醒,本文阅读时间6分钟,文末有秘密! Linux最强大的一个特征就是它有大量的各种小命令工具,这也可以称做是它最有趣的一个地方了。 在这些大量的有用的命令和脚本中,你会发现有少部 分命令工具不那么有用的——如果你不愿意说是完全没用处的话。 你要知道,Linux命令终端并不是总来干一些严肃的事情的,这里列举的几个没有实际用处、 但很有趣的命令. 它们的有趣并不是因为无用,而是真的有趣,接下来就让我们看看它们是如何搞怪的吧。 一、cmatrix 你应该看过好莱

    1.4K90发布于 2018-05-04
  • 来自专栏星河造梦坊专栏

    Unity动画☀️9. 木头自转、扛起木头、OnTriggerEnter

    动画人物为Character Controller组件,木头为Sphere Collider组件,且勾选了Is Trigger 动画展示: 大家还有什么问题,欢迎在下方留言!

    47210编辑于 2024-08-14
  • 来自专栏Android知识点总结

    D9-Android自定义控件之动画篇1

    本篇是关于ObjectAnimator的演示 ObjectAnimator是针对有setXxxxxx方法的属性,进行的"Xxxxxx"属性变化动画 绘制部分就不废话了,前面已经说很多了,直接进入主题 下移动画.gif /** * 下移动画 */ private ObjectAnimator mMoveDown; float translationY = getTranslationY();//当前 translationY", translationY, translationY + 300) .setDuration(1000);//设置时常 mMoveDown.start();//开启动画 REVERSE重复.gif ---- 三、自定义ObjectAnimator属性 内置的只是一些常用的,我们也可以自定义自己的属性 1.自定义圆的大小动画 必须用一个setXxx的方法,属性名则为 自定义颜色.gif 下一篇将会带来:set动画集来控制多个动画,以及动画的监听。

    73640发布于 2018-09-29
  • 来自专栏韩曙亮的移动开发专栏

    【Flutter】Animation 动画 ( AnimatedWidget 动画使用流程 | 创建动画控制器 | 创建动画 | 创建 AnimatedWidget 动画组件 | 动画运行 )

    文章目录 ◯、AnimatedWidget 组件引入 一、创建 AnimatedWidget 动画组件 二、创建动画控制器 三、创建动画 四、动画运行 五、完整代码示例 六、相关资源 AnimatedWidget 动画使用流程 : ① 创建 AnimatedWidget 动画组件 ② 创建动画控制器 ③ 创建动画动画运行 ◯、AnimatedWidget 组件引入 ---- 在上一篇博客 【Flutter 】Animation 动画 ( Flutter 动画基本流程 | 创建动画控制器 | 创建动画 | 设置值监听器 | 设置状态监听器 | 布局中使用动画值 | 动画运行 ) 中 , 使用动画时 , 需要给动画添加值监听器 动画对象 , 可以自动计算出动画值 , 并自动刷新封装在该 AnimatedWidget 动画组件中的布局组件 ; 创建 AnimatedWidget 动画组件时 , 传入 Animation 对象 0 , 结束值 300 , 动画在执行的 3 秒时间内 ( 动画控制器中指定的动画持续时间 ) , 自动计算出每个时间点的 0 ~ 300 之间的动画值 ; 创建动画代码示例 : ///

    3.3K10编辑于 2023-03-29
  • 来自专栏全栈程序员必看

    JavaScript 动画_jquery 动画

    JavaScript—动画 一、动画原理 通过定时器setInterval不断移动盒子位置。 clearInterval(timer); //停止定时器 } div.style.left = div.offsetLeft + 1 + 'px'; //定时器执行的操作:每1毫秒移动一个像素 }, 1) 二、简单动画函数封装 注意函数需要传递的2个参数:动画对象和移动的距离。 target) { clearInterval(obj.timer); } obj.style.left = obj.offsetLeft + 1 + 'px'; }, 1) } 四、缓动效果原理 缓动动画就是让元素运动速度有所变化 = target) { clearInterval(obj.timer); } obj.style.left = obj.offsetLeft + step + 'px'; }, 15) } 五、动画函数添加回调函数

    3.5K30编辑于 2022-11-04
  • 来自专栏Flutter

    【Flutter 实战】动画序列、共享动画、路由动画

    老孟导读:此篇文章是 Flutter 动画系列文章第四篇,本文介绍动画序列、共享动画、路由动画动画序列 Flutter中组合动画使用Interval,Interval继承自Curve,用法如下: Animation _sizeAnimation = Tween(begin: 100.0, end 最终效果如下: 共享动画 Hero是我们常用的过渡动画,当用户点击一张图片,切换到另一个页面时,这个页面也有此图,那么使用Hero组件就在合适不过了,先看下Hero的效果图: 上面效果实现的列表页面代码如下 上面的动画只对新的页面进行了动画,如果想实现当前页面被新页面从顶部顶出的效果,实现方式如下: class CustomPageRoute extends PageRouteBuilder { final 里面提供了一系列动画,部分效果: 详情:Flutter 1.17 新 Material motion 规范的预构建动画 ?

    2.4K10发布于 2020-09-11
  • 来自专栏李蔚蓬的专栏

    Android动画基础 | 概述、逐帧动画、视图动画

    为了描述方便,下文中我们把执行动画的组件暂时称为“目标组件”; 1.1 概述 动画的意义: 视觉效果(良好观感)、 引导用户(理解我们的应用功能); 下文将笔记: 逐帧动画、 视图动画、 属性动画 逐帧动画:逐帧动画的基础是帧,也即图片,图片一般由美工制作;      没有原图就无法制作逐帧动画,则应用范围比较小; 视图动画:应用广泛;      操作的是视图对象,可以令视图对象产生透明度渐变 、位移、旋转等效果;      但是也有它的局限性(局限于视图); 属性动画:操作的对象不再局限于视图,可以真实地改变对象的属性; 2 逐帧动画 概述: 逐帧动画也称图片动画, 通过在一个固定区域 , 逐张地呈现一系列事先加载好的图片而产生动画效果; 定义逐帧动画的方法: 使用AnimationDrawable对象定义逐帧动画; 它是一个Drawable容器(DrawableContainer , 来设置动画在不同时间点的不同变化率; (变化率即动画完成进度同动画完成所需时间的微分) Android内置了 9 种内置的插值器实现:插值器与估值器 另外有一个网站可以模拟插值器的变化过程;

    4.8K21发布于 2019-05-14
  • 来自专栏韩曙亮的移动开发专栏

    【Flutter】Animation 动画 ( AnimatedBuilder 动画使用流程 | 创建动画控制器 | 创建动画 | 创建动画作用的组件 | 关联动画与组件 | 动画执行 )

    文章目录 ◯、AnimatedBuilder 引入 一、创建动画控制器 二、创建动画 三、创建动画作用的组件 四、创建 AnimatedBuilder 关联动画与组件 五、动画运行 六、完整代码示例 七 、相关资源 AnimatedBuilder 动画使用流程 : ① 创建动画控制器 ② 创建动画 ③ 创建动画作用的组件 ④ 创建 AnimatedBuilder 关联动画与组件 ⑤ 执行动画 ◯、AnimatedBuilder 引入 ---- 在上一篇博客 【Flutter】Animation 动画 ( AnimatedWidget 动画使用流程 | 创建动画控制器 | 创建动画 | 创建 AnimatedWidget 动画组件 可以构建通用 Widget , AnimatedBuilder 可以用于拆分动画 与 组件 ; 动画开发中需要分离的功能 : 显示动画作用的组件 定义 Animation 动画对象 将 Animation 0 , 结束值 300 , 动画在执行的 3 秒时间内 ( 动画控制器中指定的动画持续时间 ) , 自动计算出每个时间点的 0 ~ 300 之间的动画值 ; 创建动画代码示例 : ///

    3.3K10编辑于 2023-03-29
  • 来自专栏大师级码师

    JavaScript动画 —— 弹动动画

    0) * 0.1 = 10,把ax加载vx上得速度vx = 10,把vx加在小球的当前位置上得到ball.x = 10; (2) 第二轮,加速度ax = (100 - ball.x) * 0.1 = 9, 由此得到vx = 10 + 9 = 19,ball.x = 10 + 19 = 29; (3) 第三轮,ax = 7.1, vx = 26.1,ball.x = 55.1; (4) 第四轮, ax = 为了动画更丰富一点,可以尝试修改vx、vy或者不同x、y轴的friction值。自己尝试一下吧。 三. 目标点移动的弹动 目标点移动,我们很容易就想到把鼠标当成目标点。 在上一篇介绍缓动动画时,有一个小球跟随鼠标的缓动动画。让小球跟随鼠标弹动同样很简单,只要把targetX和targetY替换为当前坐标即可。效果很炫酷,但是代码基本没变。 修改为: var dx = mouse.x - ball.x; var dy = mouse.y - ball.y; 当然,我们还需要写一个获得当前鼠标位置的函数,可以参考我写的博文《JavaScript动画详解

    2K00发布于 2021-09-19
  • 来自专栏Flutter

    《Flutter 动画系列》组合动画

    老孟导读:在项目中动画效果很多时候是几种动画的组合,比如颜色、大小、位移等属性同时变化或者顺序变化,这篇文章讲解如何实现组合动画。 Flutter中组合动画使用Interval,Interval继承自Curve,用法如下: Animation _sizeAnimation = Tween(begin: 100.0, end: 300.0 animate(CurvedAnimation( parent: _animationController, curve: Interval(0.5, 1.0))); 表示_sizeAnimation动画从 0.5(一半)开始到结束,如果动画时长为6秒,_sizeAnimation则从第3秒开始。 想象下面的场景,一个红色的盒子,动画时长为6秒,前40%的时间大小从100->200,然后保持200不变20%的时间,最后40%的时间大小从200->300,这种效果通过TweenSequence实现,

    1.6K10发布于 2020-09-11
  • 来自专栏Android开发

    Android动画之帧动画

    动画的原理就是让一系列的静态图片依次播放,实现动画效果。 下面了解一下两种实现帧动画的方式 1.利用 Java 代码实现帧动画 2.利用 xml 实现帧动画(开发中通常使用这种方法实现帧动画) 1.利用 Java 代码实现帧动画 源代码如下: activity_main.xml animationDrawable.addFrame(new BitmapDrawable(getResources(), BitmapFactory.decodeResource(getResources(), R.drawable.anim9) ) 以前还在学校的时候写过一个例子Android中帧动画的简单实现 下面再来一次 (1).帧动画通常在XML 资源进行定义,在 <animation-list …/> 标签下使用 <item …/ > 子元素标签定义动画的全部帧,并指定各帧的持续时间。

    42400编辑于 2025-06-12
  • 来自专栏Android开发

    Android动画之属性动画

    理解:指定一个开始的位置,再指定一个结束的位置,自动补充中间的变化过程 为了更好的演示,写了一个Demo,xml界面如下(最后有源码) 要介绍的有: 1.透明动画:alpha 2.位移动画:translationX ,translationY 3.旋转动画:rotation 4.缩放动画:scaleX,scaleY 5.组合显示:AnimatorSet(动画集合容器) 1.透明动画:alpha 2.位移动画 :translationX,translationY 3.旋转动画:rotation 4…缩放动画:scaleX,scaleY 5.组合显示:AnimatorSet(动画集合容器 要执行的动画类型 3. 一组动画的属性 switch (v.getId()) { case R.id.btn_alpha://透明动画 objectAnimator

    29110编辑于 2025-06-12
  • 来自专栏波波烤鸭

    Vue教程(动画-半场动画)

      上篇文章我们介绍了过渡动画的实现,包括完整的 入场 和 离场 动画,但是在实际过程中我们有时可能仅仅需要使用半场动画,比如淘宝购物车的下单处理等。 ? Vue 半场动画 1.基础页面   基础页面设置。 <! 3.JavaScript钩子设定   ball要添加动画的话需要被transition包裹 ? ” 离场动画之前执行beforeLeave方法 v-on:leave=“leave” 离场动画过程中执行的方法 v-on:after-leave=“afterLeave” 离场结束后执行的方法 v-on :leave-cancelled=“leaveCancelled” 离场动画取消时执行的方法 添加钩子方法 ?

    1.3K30发布于 2019-07-22
  • 来自专栏前端大合集

    Flutter 动画篇 (Hero 动画)

    Hero 动画 介绍 你可能经常遇到 hero 动画。比如,页面上显示的代售商品列表。选择一件商品后,应用会跳转至包含更多细节以及“购买”按钮的新页面。 触发动画 导航:通过 Navigator.push 方法将目标路由推送到导航堆栈。 动画触发:当目标路由被推送时,Flutter 会自动处理源 Hero 和目标 Hero 之间的动画动画过程 动画计算:Flutter 会计算从源 Hero 到目标 Hero 的动画路径,包括位置和大小的变化。 径向hero 动画 径向 Hero 动画是一种特殊类型的 Hero 动画,它通过从一个点向外扩展或收缩来创建视觉效果,通常用于在页面之间共享元素。 与常规的 Hero 动画相比,径向 Hero 动画更注重从中心点向外的过渡效果。

    96710编辑于 2024-12-29
  • 来自专栏星河造梦坊专栏

    Unity动画☀️动画帧事件

    目的: 当模型动画播放到一定进度后,执行某函数 方法: 添加的方法根据模型的不同暂时分为两种: 1、模型为美术人员制作,带有动画: 在模型源文件的Animation-Events处添加即可 2、动画为自己在 解决办法: 点该物体,开始录制动画。 1️⃣ 录制的动画位置发生变化: 原因之一: 在某物体B外面给A录制的动画,最后将A移动到B里面去了。发现位置不对。 解决办法: 在B物体里面对A进行录制动画。 大家还有什么问题,欢迎在下方留言

    1.5K10编辑于 2024-08-15
  • 来自专栏韩曙亮的移动开发专栏

    【Android 属性动画】属性动画 Property Animation 简介 ( 属性动画简介 | 属性动画特性 )

    文章目录 一、属性动画简介 二、属性动画特性 一、属性动画简介 ---- 属性动画简介 : 1.动画制作框架 : 属性动画系统 , 允许你 将任何可变的操作制作成动画 , 其功能很强大 ; 2.基本功能 : 使用该框架 , 可以 定义一个随时间改变的动画 ; 3.属性随时间改变 : 动画执行期间 , 修改任意对象的属性 , 其组件的变化生成一个动画 ; 4.不受可见性限制 : 即使 该组件不可见 , 或者绘制在屏幕外部 , 该动画也可以生效 ; 5.属性动画本质 : 属性动画在一个指定的时间段内 , 修改某个属性的值 , 或者某个对象的变量 ; 6.属性动画要素 : 将某个动作制作成属性动画 , 需要 属性动画特性 : 属性动画系统允许指定如下的动画特性 : 1.持续时间 ( Duration ) : 动画的持续时间 ; ① 默认值 : 300ms ( 单位 : 毫秒 ) ; 2.时间差值器 ( Animator Set ) : 可以将动画编组成集合 , 可以有如下逻辑关系 : ① 集合中的动画一起播放 ; ② 集合中的动画按照先后顺序播放 ; ③ 集合中的动画在指定一定的时间延迟后播放

    5.3K20编辑于 2023-03-27
领券