UI动画优化技巧
知乎上一篇比较好的文章,分享一下:
tabs slide 内容过渡动画
- 好的动画会淡化页面直接的过度。
- 但更好的做法是使用连续的动画来来过度内容
当我们在设计交互式选项卡或弹出式菜单的时候,尝试将内容的问题和打开它的操作相关联,这样我们不单只能够实现一个很棒的过度动画,还可以清晰的知道不同内容直接的位置关系。如果你愿意还可以添加滑动手势。
连接卡片的共享元素
- 良好的设计会使用向左或者向右滑动来过度屏幕中的显示内容。
- 更好的做法是使用共享元素来建立两种状态直接的关系。
不同状态之间进行动画制作时,我们可以从共享元素出发,来链接不同的内容。例如右图 过渡前的卡片展开形成过度后的卡片。
使用瀑布流动画
左边的卡片通过滑动和淡入来显示。右边的卡片具有相同的动画,但每张卡片都有一个短暂的延迟。
- 良好的设计会改变元素进入屏幕时的位置和不透明度。
- 更好的设计是迅速错开最每个元素的显示,效果看起来会更好。
不同元素间动画相关联

- 良好的设计会通过上下文中移动来显示动画。
- 更好的动画是,当显示的内容的时候能够影响到周围的元素。
这种设计可以帮助用户感知到内容周围的元素。
让菜单显示在上下文中
- 良好的设计会在点击的位置显示菜单。
- 更好的动画是菜单内容从点击的地方展开
使用 button 展示不同的状态
- 良好的交互会在点击按钮的时候显示指示性内容。
- 更好的交互式使用按钮本身来指示不同的状态。
尝试使用按钮的容器来提供状态的可视反馈。
使用动画来强调重要的内容
- 良好的设计使用颜色,大小和位置突出显示用户需要注意的元素。
- 伟大的设计使用动画来关注那个重要的动作,而不会造成干扰。
参考:https://zhuanlan.zhihu.com/p/37402603
UI动画优化技巧的更多相关文章
- Unity UI性能优化技巧
本文将介绍一些提升Unity UI性能的技巧.更多优化技巧,可以观看Unity工程师Ian Dundore在Unite Europe 2017的演讲<使用Unity性能提升技巧>. 1.划 ...
- CSS 阴影动画优化技巧一则
本技巧来自这篇文章 -- How to animate box-shadow with silky smooth performance 本文不是直译,因为觉得这个技巧很有意思很有用,遂起一文. bo ...
- Unreal Engine 4 中的 UI 优化技巧
转自:https://mp.weixin.qq.com/s/bybEHM9tF-jBPxxqXfrPOQ## Unreal Open Day 2017 活动上 Epic Games 开发者支持工程师郭 ...
- Android UI性能优化详解
设计师,开发人员,需求研究和测试都会影响到一个app最后的UI展示,所有人都很乐于去建议app应该怎么去展示UI.UI也是app和用户打交道的部分,直接对用户形成品牌意识,需要仔细的设计.无论你的ap ...
- JavaScript 如何工作:渲染引擎和性能优化技巧
翻译自:How JavaScript works: the rendering engine and tips to optimize its performance 这是探索 JavaScript ...
- 【转】MyEclipse 2015优化技巧
MyEclipse 2015优化技巧 MyEclipse 2015优化速度方案仍然主要有这么几个方面:去除无需加载的模块.取消冗余的配置.去除不必要的检查.关闭更新. 第一步: 去除不需要加载的模块 ...
- 经验分享:多屏复杂动画CSS技巧三则
当下CSS3应用已经相当广泛,其中重要成员之一就是CSS3动画.并且,随着CSS动画的逐渐深入与普及,更复杂与细腻的动画场景也如雨后春笋般破土而出.例如上个月做的「企业QQ-新年祝福」活动: 感谢sh ...
- JavaScript 性能优化技巧分享
JavaScript 作为当前最为常见的直译式脚本语言,已经广泛应用于 Web 应用开发中.为了提高Web应用的性能,从 JavaScript 的性能优化方向入手,会是一个很好的选择. 本文从加载.上 ...
- 移动端经常出现的兼容问题,谈谈移动端应用或者wap站的一些优化技巧和心得
移动端经常出现的兼容问题,谈谈移动端应用或者wap站的一些优化技巧和心得 1. 安卓浏览器看背景图片,有些设备会模糊. 因为手机分辨率太小,如果按照分辨率来显示网页,字会非常小,安卓手机 ...
随机推荐
- Synchronized 有几种用法?
我们都知道 Synchronized 是线程安全同步用的,大部分程序可能只会用到同步方法上面.其实 Synchronized 可以用到更多的场合. 1.同步普通方法(锁实例对象) 这个也是我们用得最多 ...
- Vue 中使用 viewerjs
安装 viewerjs npm install viewerjs --save 创建一个 Viewer.vue 组件 <template> <div id="index&q ...
- PHP批量保存图片到服务器再上传阿里云
/* * 批量传输产品主图到阿里云 */ public function transferImage(){ $num = 50; $p = isset($this->request->ge ...
- ubuntu12.04 64bit libncurses5-dev和libncurses5-dev:i386共存性问题讨论
ubuntu12.04 64bit 编译kernel(或者make menuconfig)源码时出现如下错误: HOSTLD scripts/kconfig/mconf scripts/kconfig ...
- XShell停止滚屏,禁止滚动
Ctrl+S:锁定当前屏幕 Ctrl+Q:解锁当前屏幕 Ctrl+Alt+] 进入命令输入状态
- HTTP响应过程
完整的一次 HTTP 请求响应过程(一)http://mp.weixin.qq.com/s?__biz=MzUzMTA2NTU2Ng==&mid=2247484648&idx=1&am ...
- JVM优化系列之一(-Xss调整Stack Space的大小)
Java程序中,每个线程都有自己的Stack Space(堆栈).这个Stack Space不是来自Heap的分配.所以Stack Space的大小不会受到-Xmx和-Xms的影响,这2个JVM参数仅 ...
- Java中运行时异常和非运行时异常什么鬼?
Java中的异常分类 RuntimeException(也称unchecked exceptions,运行时异常) 就是我们在开发中测试功能时程序终止,控制台出现的异常.(一般来说,出现运行时异常基本 ...
- 受限玻尔兹曼机(Restricted Boltzmann Machine, RBM) 简介
受限玻尔兹曼机(Restricted Boltzmann Machine,简称RBM)是由Hinton和Sejnowski于1986年提出的一种生成式随机神经网络(generative stochas ...
- 关于wordpress中的contact form7和WP Mail SMTP的一些设置
昨天帮客户解决了这个问题 折腾了好几个小时 下面说下流程 先配置的 wp mail smtp 如果配置完毕后 就可以使用里面配置的邮件 放到contact form7 中的 发件人中 1 ...