android补间动画回弹,Principle动画的基本逻辑

2023-10-24 07:40

本文主要是介绍android补间动画回弹,Principle动画的基本逻辑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. Principle中对象的四个交互属性

物件的交互属性,包括4个状态,横轴纵轴都可以调节。如图:

1c242a4e0dbef0e1b9074aae496d76d7.png

Static(静止的,静态的):这个是所有物件的默认状态,这个物件是不能被移动的。

Drag(拖动):例如做悬浮窗

Scroll(滚动):我们看到的大部分页面都是Scroll组件,例如瀑布流的页面,有了scroll才有了我们“刷”手机的的动作。

Page(翻页):这个概念不是很好理解,暂且理解成翻页吧,有了这个交互的概念,我们可以容易的做到下面的效果:

309576dde66a5e8e45262a0bab65e276.png

2. Principle动画触发条件

讲在前面,点击事件的逻辑分析,我们在PC上使用鼠标时,鼠标的一个点击会被分解成多个动作,

①鼠标按下

②鼠标抬起,

这样完成了一次鼠标点击的动作,除此之外还有

③鼠标移动,

④在3Dtouch中还有用力按压,增加了压力感应;

鼠标悬浮在某物体上方,(移动端不存在)

鼠标移出某物体上方,(移动端不存在)

以上,多个动作的组合就形成了多种交互方式,也就是我们要学习的动画触发条件。

Principle将所有的动画触发条件都集合到了⚡️闪电按钮中:

2efdee994f0c74f70c537c5cd57981bd.png

Principle的强大也表现在这里,这样的设计可以让系统做到:用户在同一个控件上执行不同的操作后,出现不同的动画效果或跳转到不同的页面。

下面我们来讲解一下每个按钮的意思,字面可以理解的我就不解释了。

1. Tap(点击):①鼠标按下;②鼠标抬起;

2. Long Press(长按):交互代码:① ① ②  😆能理解把

3. Scroll Begin(滚动开始):①按下;③移动;

4. Scroll Release(滚动释放):③移动;②抬起;

5. Scroll End(滚动结束):这里要区别一下4.滚动释放,这个滚动是物件滚动完毕,不是操作的结束,例如我们快速滚动一个页面,松手后,页面还会继续滑动,页面结束后才会触发的事件。

6. Drag Begin(开始拖拽):①按下 ③移动,这个跟3.滚动开始是一个交互动作,区别就在于交互动作施加的对象上了。对象是Drag属性就适用Drag,是Scroll就是Scroll。

7. Drag End(拖拽结束):③移动 ②抬起。同样区别于4.滚动释放

8. Touch Down(按下):①按下,使用场景:例如按下某个按钮后,按钮的样式变成被按下样式。

03146cd82d500bae46eafa609570aae0.png

9. Touch Up(抬起):③抬起,使用场景同上,按钮按下后松手,显示一个回弹样式。

10. Hover Inside(鼠标在某图层内)

11. Hover Outside(鼠标在某图层外)

个人觉得上面两个触发条件并不适用移动端的交互,应用的时候大家也可以使用

12. Auto(自动):这个命令相当于在某个物件(图层)上写了自动执行的脚本,配合时间轴的使用,可以完成倒计时类的功能,是一个常用的触发条件。

3. 动画的分解

我们平时看到的绝大部分动画都是可以分解成一系列简单动画的。

动作包括:

出现

消失

位移(priciple只有两个轴,要三维动画的同学可以借助一些阴影变化去完成自己的创意)

旋转(只有两个轴,要实现三维的旋转很难,可以借助变形效果来实现,但是很难像AE那样天生就带三轴那么容易操作)

变形

缩放

透明度变化

阴影变化

具体实现以上动作我们可以调节以下的参数来完成那些关键动作。

6e4dd933a165a8d3d2466b032bcd85c6.png

这里补充一下,Principle的补间动画是基于图层名称一样的条件下,两个画板间在跳转时,只有同样名称的图层才会实现补间动画!

A画板向B画板跳转时,A画板中独有的图层会做消失动作,B画板中独有的图层会做出现动作,并且都是瞬时动作。

分享到这里,掌握之前所有的知识点,我们其实可以完成我们所有想要的效果了

4. 符合现实物理世界的动画

b993184ead2f5b7bb7c7ab14cb05440a.png

节奏的不同

节奏的不同体现在速度的不同,看看下面这个曲线,就是调节速度的曲线,曲线的斜率代表物体运动的速度。

db05087660df075a99f24fd450956904.png

Principle自带了一些运动速度曲线供我们使用,我们也可以根据自己的需求去调节斜率。

物理世界中的运动很多带有加速度,我们尽量调节的我们的图层在运动过程中符合人们平时的认知世界,

例如一个弹跳动作,在最高点的速度应该为0,在最低点的速度应该最大,过程中的应该是一个匀加速运动。

一个物体的从移动到停止,最好也是速度慢慢减到0,这样会让我们的动画变得很真实。

今天的分享包括交互动作的讲解和动画制作的理论,希望对大家有所帮助。

这篇关于android补间动画回弹,Principle动画的基本逻辑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/273722

相关文章

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

基本知识点

1、c++的输入加上ios::sync_with_stdio(false);  等价于 c的输入,读取速度会加快(但是在字符串的题里面和容易出现问题) 2、lower_bound()和upper_bound() iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。 iterator upper_bou

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

android-opencv-jni

//------------------start opencv--------------------@Override public void onResume(){ super.onResume(); //通过OpenCV引擎服务加载并初始化OpenCV类库,所谓OpenCV引擎服务即是 //OpenCV_2.4.3.2_Manager_2.4_*.apk程序包,存

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

Android 10.0 mtk平板camera2横屏预览旋转90度横屏拍照图片旋转90度功能实现

1.前言 在10.0的系统rom定制化开发中,在进行一些平板等默认横屏的设备开发的过程中,需要在进入camera2的 时候,默认预览图像也是需要横屏显示的,在上一篇已经实现了横屏预览功能,然后发现横屏预览后,拍照保存的图片 依然是竖屏的,所以说同样需要将图片也保存为横屏图标了,所以就需要看下mtk的camera2的相关横屏保存图片功能, 如何实现实现横屏保存图片功能 如图所示: 2.mtk

android应用中res目录说明

Android应用的res目录是一个特殊的项目,该项目里存放了Android应用所用的全部资源,包括图片、字符串、颜色、尺寸、样式等,类似于web开发中的public目录,js、css、image、style。。。。 Android按照约定,将不同的资源放在不同的文件夹中,这样可以方便的让AAPT(即Android Asset Packaging Tool , 在SDK的build-tools目