Animation and Transition
xingfeng_coder
路漫漫其修远兮,吾将上下而求索
Gitbook地址:https://xingfeng.gitbook.io/hust
简书地址:https://www.jianshu.com/u/57f41372c68e
展开
-
使用动画隐藏或显示View
一般来说,当内容更换时,有动画的话会更好过渡,用户也会体验较好。有三种比较常见的动画用于隐藏或显示内容:Circle Reveal动画、淡入淡出效果、卡片翻转效果。下面将分别介绍这三种常见的动画效果:淡入淡出动画淡入淡出动画一般是一个View在渐渐消失,另一个View同时在渐渐出现。先看效果,如下图:可以看到效果是一个文本渐渐出现,loading渐渐消失。创建xml布局<Fr...原创 2018-12-10 10:08:14 · 3069 阅读 · 0 评论 -
仿抖音发布按住拍呼吸效果
抖音——时下最火的app之一,发布过程中有个按住拍的呼吸效果,效果如下所示:上面两个按钮,都是采用属性动画进行控制的,但实现细节稍有不同,左上采用的是StateListAnimator,只需要考虑跟随手指动就可以了;右下是在onTouch里面控制动画开启or关闭。demo采用了自定义View的方式,重点有几点:属性动画,定义View不具备的属性——内部半径参数onTouch(),跟随手...原创 2019-04-08 12:10:20 · 1178 阅读 · 0 评论 -
让View跟随状态动起来——StateListAnimator
StateListAnimator定义了一组动画,可以根据View drawable的状态进行不同的切换。所谓状态指的是state_pressed、state_enabled等这些状态。Android提供的drawable中,其中有一种就是selector,只不过那种是指定的图片,而StateListAnimator指定的动画。不说废话,先看下效果:使用StateListAnimator...原创 2019-04-01 10:01:14 · 1675 阅读 · 0 评论 -
让View具有减速效果的动画——FlingAnimation
Google除了提供了属性动画之外,还提供了一种基于物理的动画,叫做DynamicAnimation,与物理世界更贴近,关于这块可以参考https://www.jianshu.com/p/46b1cdc253e9。目前主要有两种DynamicAnimation,分别是:Spring Animation 类比弹力Fling Animation 类比速度、动量本文主要介绍Fling...原创 2019-03-18 19:16:44 · 1794 阅读 · 5 评论 -
让View具有弹性效果的动画——SpringAnimation
SpringAnimation和FlingAnimation一样,是DynamicAnimation的两种类型。Spring模拟的是物理世界的弹力,弹弹弹,弹走鱼尾纹,,,先看下效果:在某些参数下,可以看到图片有来回震荡的效果。SpringAnimation的基本使用添加支持库 dependencies { implementation 'com.android.sup...原创 2019-03-25 10:15:00 · 1802 阅读 · 3 评论 -
三谈属性动画——Keyframe以及ViewPropertyAnimator
经过初识属性动画——使用Animator创建动画和再谈属性动画——介绍以及自定义Interpolator插值器,对属性动画已经介绍的差不多了,还剩下最后两个概念,Keyframe和ViewPropertyAnimator。Keyframe动画归根结底是一些帧的组合,一旦设定了一个动画后,中间的每帧,Android系统会帮我们计算好,而Keyframe允许我们定义动画中的一些关键帧,该对象主要有...原创 2019-03-11 11:48:30 · 893 阅读 · 0 评论 -
再谈属性动画——介绍以及自定义Interpolator插值器
属性动画中有一个重要的概念就是插值器——Interpolator,根据流失的时间因子计算得到属性因子。Android中默认的插值器是AccelerateDecelerateInterpolator,内置了很多插值器,本文将以一个例子介绍各种插值器的效果,以及如何自定义Interpolator。话不多说,先看demo,如下图:官方Interpolator介绍除了最后一个是自定义Interpo...原创 2019-02-25 09:53:28 · 931 阅读 · 0 评论 -
初识属性动画——使用Animator创建动画
属性动画不仅仅能作用于View,而能作用于任何对象。与ViewAnimation的区别ViewAnimation只支持几种动画:scale、transition、rotate、alpha四种类型。并且缺陷是只是改变了显示位置,实际位置并没有改变。一个demo解释一切,如下图:Hello按钮使用ViewAnimation进行移动,点击事件在移动后,但是响应还在最初的位置;而属性动画移动的W...原创 2019-02-19 10:05:33 · 1068 阅读 · 0 评论 -
在Activity切换之间实现Transition动画
在Android 5.0执行,如果需要在Activity切换之间实现动画,需要实现 overridePendingTransition()方法,并实现入场动画和退场动画。而在5.0之后,出现了一些Material Design的转场动画,先看下demo样子。上面的例子中,Slide效果还是比较明显的,Explode和Fade不是很容易看清,后面两个是Share Element的动...原创 2019-02-13 10:37:52 · 1964 阅读 · 0 评论 -
在布局切换之间实现Transition动画
由于明后两天周末时间部门团建加年会,所以这篇博客就提前发了。继续Jetpack框架中的动画部分。同一个Activity之间,布局切换是可以有动画效果的,下面是仿照API Demo中的一个例子,如下图:在同一个Activity中,通过选中不同的Scene,切换不同的布局。实现在两个Layout之间进行动画的基本步骤如下:为起始和结束Layout创建Scene对象,一般来说,当前布局...原创 2019-01-25 15:08:21 · 2003 阅读 · 0 评论 -
ViewGroup内容改变时的动画效果—LayoutTransition
向一个ViewGroup中添加View或移除View时,针对当前所有的View,是可以有一个动画效果的,这个动画效果主要靠LayoutTransition实现。话不多说,先上图看下效果(仿照Android API Demos里面的例子)。可以看到,当添加或删除View时,下面View中的Button都是有动画效果的,这种实现就是通过LayoutTransition实现的。LayoutTra...原创 2019-01-19 11:06:41 · 1794 阅读 · 0 评论 -
Jetpack学习之——使用动画缩放图片
我们的app经常遇到这样一种场景,就是小图到大图的转换,这时候如果有个缩放动画就会很自然。本节将介绍如何使用动画进行缩放图片,在点击头像看大图这种场景可以使用。本文的例子的示意图如下所示:创建View布局主要包含两个View,一个ImageButton用于加载缩略图,一个ImageView用于显示大图。&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&qu原创 2019-01-13 16:49:49 · 1011 阅读 · 0 评论 -
Android中具有动画效果的图片资源
在一些场景下,图片需要具有动画效果。当你想显示一个由多张图片组成的loading动画,或者一个图标切换过程,就需要到具有动画效果的图片了。Android提供了几种方式实现动画图片。下面的是个示例:第一种方式是使用Animation Drawable,这是通过建立多张静态图片构成动画的方式,类似动画片和gif。第二种方式是使用Animated Vector Drawable,然后改变其属性。...原创 2018-11-25 17:42:35 · 2892 阅读 · 0 评论 -
让转场更加酷炫——自定义Transition
Android动画和Transition系列文章初识属性动画——使用Animator创建动画 再谈属性动画——介绍以及自定义Interpolator插值器 三谈属性动画——Keyframe以及ViewPropertyAnimator 让View具有减速效果的动画——FlingAnimation 让View具有弹性效果的动画——SpringAnimation 让View跟随状态动起来—...原创 2019-04-08 19:32:08 · 2414 阅读 · 0 评论