当前位置: 首页 > 专利查询>苹果公司专利>正文

为用户界面和动画提供应用程序编程接口的框架制造技术

技术编号:26850361 阅读:34 留言:0更新日期:2020-12-25 13:19
本主题技术的具体实施提供了支持创建用户界面(UI)和所述UI内的动画的框架。所述主题技术接收与动画相关的第一信息,所述第一信息包括初始状态、目标状态和动画函数。所述主题技术生成所述目标状态的副本,所述目标状态的所述副本包括所述动画的记录,所述动画的所述记录至少部分地基于与所述动画相关的所述第一信息和与所述动画函数相关的进一步信息。所述主题技术更新所述目标状态的所述副本中与所述动画的中间状态相关的值,所述中间状态介于所述初始状态与所述目标状态之间。此外,所述主题技术提供所述目标状态的所述副本,所述目标状态的所述副本包括与用于渲染所述动画的所述中间状态相关的所述值。

【技术实现步骤摘要】
【国外来华专利技术】为用户界面和动画提供应用程序编程接口的框架相关申请的交叉引用本申请要求2018年6月3日提交的名称为“FRAMEWORKPROVIDINGAPPLICATIONPROGRAMMINGINTERFACEFORUSERINTERFACESANDANIMATION”的美国临时专利申请序列号62/679890的权益,该申请据此全文以引用方式并入本文并且构成本美国技术专利申请的部分以用于所有目的。
本说明书整体涉及在具有和/或不具有触摸屏的电子设备上实现用户界面和图形元素的动画。
技术介绍
给定的操作系统可为开发人员提供图形和成像框架来创建用于计算机应用程序的图形用户界面(GUI或UI)的“视图”。软件应用程序的用户界面(UI)的复杂性已增加,并且可被实现为处理视图、动画、视频、窗口、画面、事件等以及其他类型的图形相关功能性。附图说明本主题技术的一些特征在所附权利要求书中被示出。然而,出于解释的目的,在以下附图中阐述了本主题技术的若干实施方案。图1示出了根据一个或多个具体实施的包括可以实现本主题系统的电子设备的示例性网络环境。图2示出了根据一个或多个具体实施的可在电子设备上实现的示例性软件架构。图3A至图3C示出了根据一个或多个具体实施的用于在电子设备的屏幕上移动图形UI元素的水平位置的示例性动画。图4A至图4C示出了根据一个或多个具体实施的用于在电子设备的屏幕上内插图形UI元素的动画的示例。图5A至图5C示出了根据一个或多个具体实施的电子设备的屏幕上的嵌套动画的示例。图6示出了根据一个或多个具体实施的与定时曲线相关的动画函数的示例。图7示出了根据一个或多个具体实施的用于动画记录的示例性数据结构。图8示出了根据一个或多个具体实施的用于在电子设备上执行的生成给定动画的动画记录的示例性过程的流程图。图9A至图9C示出了根据一个或多个具体实施的由电子设备的触摸屏上的输入手势发起的动画的示例。图10A至图10C示出了根据一个或多个具体实施的由电子设备的触摸屏上的输入手势发起并且然后由手势控制直到完成的动画的示例。图11A至图11C概念性地示出了根据一个或多个具体实施的涉及来自父视图和子视图的颜色属性的嵌套动画的示例。图12示出了根据一个或多个具体实施的视图树和节点树的示例,其中每个树的相应节点之间具有一对一关系。图13示出了根据一个或多个具体实施的视图树和属性图的示例,其中视图树的节点与属性图的节点之间具有一对n关系。图14示出了根据一个或多个具体实施的具有各种类型的子节点的视图树的示例,这些子节点来自该视图树的根节点并启用内容的不同视图。图15示出了根据一个或多个具体实施的具有各种节点的视图树的示例,这些节点利用绑定以便更新包括在该视图树中的节点的一部分中的数据的值。图16示出了根据一个或多个具体实施的用于在电子设备上执行的生成视图树和对应节点树的示例性过程的流程图。图17示出了根据一个或多个具体实施的用于在电子设备上执行的生成视图树和对应属性图的示例性过程的流程图。图18示出了根据一个或多个具体实施的用于涉及节点树和属性图的各种操作的不同示例性代码段。图19示出了根据一个或多个具体实施的由UI框架提供的UI的图形元素的不同示例性布局。图20示出了根据一个或多个具体实施的用于在电子设备上执行的接收声明式语法代码并调用命令式代码的示例性过程的流程图。图21示出了根据一个或多个具体实施的针对用于限定布局的声明式代码和用于改变布局的状态的命令式代码的不同示例性代码段。图22概念性地示出了根据一个或多个具体实施的利用视图树中的偏好列表来改变UI状态栏的特定视图的状态的示例。图23概念性地示出了根据一个或多个具体实施的利用视图树中的偏好列表来改变UI的特定视图的大小的示例。图24示出了根据一个或多个具体实施的用于在电子设备上执行的更新偏好列表的示例性过程的流程图。图25示出了根据一个或多个具体实施的用于在电子设备上执行的更新与特定视图相关的属性的示例性过程的流程图。图26示出了根据一个或多个具体实施的用于支持与可在电子设备上执行的不同绘图框架的互操作性的示例性渲染器视图系统2300。图27示出了根据一个或多个具体实施的用于在电子设备上执行的生成用于渲染视觉特性的命令并将该命令提供给外部绘图框架的示例性过程的流程图。图28示出了可用来实现本主题技术的一个或多个具体实施的电子系统。具体实施方式下面示出的具体实施方式旨在作为本主题技术的各种配置的描述并且不旨在表示本主题技术可被实践的唯一配置。附图被并入本文并且构成具体实施方式的一部分。具体实施方式包括具体的细节旨在提供对本主题技术的透彻理解。然而,本主题技术不限于本文阐述的具体细节,而是可以采用一个或多个其他具体实施来实践。在一个或多个具体实施中,以框图形式示出了结构和部件,以便避免使本主题技术的概念模糊。本主题系统提供了用于处理在给定电子设备上执行的软件应用程序的图形动画和图形用户界面的操作的框架。框架可以指作为较大软件平台的一部分提供特定功能性以促进软件应用程序的开发的软件环境,并且可提供一个或多个应用程序编程接口(API),开发者可利用所述一个或多个应用程序编程接口来以程序化方式设计用户界面并处理用于此类用户界面的操作,包括图形元素的动画和布局。在一个示例中,该框架提供部件来实现图形的事件驱动的用户界面,该用户界面包括UI元素(例如,窗口、对话框、标签、图像、按钮、菜单、文本字段、选择器、滑块、开关等),处理UI元素和动画的渲染,并且与硬件设备和屏幕缓冲器通信。例如,如本文所述的框架使开发者能够为计算机应用程序的图形用户界面(GUI)创建“视图”。视图可被理解为给定应用程序的用户界面的可被用户看到的视觉部件。在一些示例中,视图可由用户以某种方式与之进行交互。此外,框架支持具有视图分级结构的用户界面,使得至少一个视图可包括在另一个视图内,这可以进一步用于限定用户界面内的视图的布局和/或与该分级结构内的一组视图相关联的其他属性。如本文进一步讨论的,可提供树结构以表示这样的视图分级结构,在该视图分级结构中在树结构中的相应节点之间建立视图之间的父子关系。在一个或多个具体实施中,本主题系统提供用户界面(UI)API,该UIAPI使开发者能够以减少UI异常(例如,漏洞)的方式来创建以动画方式显示手势事件并与该手势事件交互的UI,并且显著减少支持此类动画和/或手势事件所需的代码量。该UIAPI的部件还提供通过实现将参数向下传递到UI的视图的环境系统以及以与预期UI行为一致的方式将偏好应用于UI的视图的偏好系统来改善UI一致性的特征。出于解释的目的,UIAPI在本文中被描述为单个API。然而,应当理解,UIAPI可被实现为多个不同的API,其中一个或多个API提供本文进一步描述的特定功能性集合。图1示出了根据一个或多本文档来自技高网...

【技术保护点】
1.一种方法,包括:/n接收与动画相关的第一信息,所述第一信息包括初始状态、目标状态和动画函数;/n生成所述目标状态的副本,所述目标状态的所述副本包括所述动画的记录,所述动画的所述记录至少部分地基于与所述动画相关的所述第一信息和与所述动画函数相关的进一步信息;/n更新所述目标状态的所述副本中与所述动画的中间状态相关的值,所述中间状态介于所述初始状态与所述目标状态之间;以及/n提供所述目标状态的所述副本,所述目标状态的所述副本包括与用于渲染所述动画的所述中间状态相关的所述值。/n

【技术特征摘要】
【国外来华专利技术】20180603 US 62/679,8901.一种方法,包括:
接收与动画相关的第一信息,所述第一信息包括初始状态、目标状态和动画函数;
生成所述目标状态的副本,所述目标状态的所述副本包括所述动画的记录,所述动画的所述记录至少部分地基于与所述动画相关的所述第一信息和与所述动画函数相关的进一步信息;
更新所述目标状态的所述副本中与所述动画的中间状态相关的值,所述中间状态介于所述初始状态与所述目标状态之间;以及
提供所述目标状态的所述副本,所述目标状态的所述副本包括与用于渲染所述动画的所述中间状态相关的所述值。


2.根据权利要求1所述的方法,其中所述动画函数对应于定时曲线。


3.根据权利要求1所述的方法,其中所述动画函数对应于手势。


4.根据权利要求1所述的方法,其中所述动画函数对应于物理模拟,所述物理模拟包括弹簧状运动。


5.根据权利要求1所述的方法,还包括:
应用内插曲线以将所述动画从所述初始状态混合到所述目标状态。


6.根据权利要求1所述的方法,其中所述动画函数是时间函数。


7.根据权利要求6所述的方法,还包括:
至少部分地基于当前时间和所述动画的开始时间来确定实耗时间。


8.根据权利要求7所述的方法,其中利用所述实耗时间基于所述动画函数来确定所述中间状态。


9.根据权利要求1所述的方法,其中所述动画的所述记录包括表示所述动画的初始值的第一值、表示所述动画的最终值的第二值、与所述动画函数相关的信息以及用于计算所述动画的实耗时间的开始时间。


10.根据权利要求1所述的方法,其中所述动画与嵌套动画相关,所述嵌套动画包括影响子视图的相应动画的父视图。


11.根据权利要求10所述的方法,其中所述嵌套动画与以动画方式显示颜色的所述父视图相关。


12.根据权利要求10所述的方法,其中所述嵌套动画与所述父视图和所述子视图相关,所述父视图改变区域,所述子视图在所述区域正在增大或缩小时在所述区域内以动画方式显示。


13.根据权利要求1所述的方法,其中所述动画取决于手势的当前状态。


14.一种系统,包括:
处理器;
存储器设备,所述存储器设备包含指令,所述指令在被所述处理器执行时使得所述处理器提供:
接收与动画相关的第一信息,所述第一信息包括初始状态、目标状态和动画函数;
生成所述目标状态的副本,所述目标状态的所述副本包括所述动画的记录,所述动画的所述记录至少部分地基于与所述动画相关的所述第一信息和与所述动画函数相关的进一步信息;
更新所述目标状态的所述副本中与所述动画的中间状态相关的值,所述中间状态介于所述初始状态与所述目标状态之间;以及
提供所述目标状态的所述副本,所述目标状态的所述副本包括与用于渲染所述动画的所述中间状态相关的所述值。


15.根据权利要求14所述的系统,其中所述动画函数对应于定时曲线、手势或物理模拟,所述物理模拟包括弹簧状运动。


16.根据权利要求14所述的系统,其中所述存储器设备包含进一步指令,所述指令在由所述处理器执行时使得所述处理器还:
应用内插曲线以将所述动画从所述初始状态混合到所述目标状态。


17.根据权利要求16所述的系统,其中所述存储器设备包含进一步指令,所述指令在由所述处理器执行时使得所述处理器还:
至少部分地基于当前时间和所述动画的开始时间来确定实耗时间。


18.根据权利要求17所述的系统,其中利用所述实耗时间基于所述动画函数来确定所述中间状态。


19.根据权利要求14所述的系统,其中所述动画的所述记录包括表示所述动画的初始值的第一值、表示所述动画的最终值的第二值、与所述动画函数相关的信息以及用于计算所述动画的实耗时间的开始时间。


20.一种包括指令的非暂态计算机可读介质,所述指令在由计算设备执行时,使得所述计算设备执行包括以下操作的操作:
接收与动画相关的第一信息,所述第一信息包括初始状态、目标状态和动画函数;
生成所述目标状态的副本,所述目标状态的所述副本包括所述动画的记录,所述动画的所述记录至少部分地基于与所述动画相关的所述第一信息和与所述动画函数相关的进一步信息;
更新所述目标状态的所述副本中与所述动画的中间状态相关的值,所述中间状态介于所述初始状态与所述目标状态之间;以及
提供所述目标状态的所述副本,所述目标状态的所述副本包括与用于渲染所述动画的所述中间状态相关的所述值。


21.一种方法,包括:
接收用于发起应用程序的命令;
响应于所述命令,生成与表示所述应用程序的用户界面(UI)的第一视图分级结构中的根视图相关的根节点;
生成所述根节点的子节点以用于包括在所述第一视图分级结构中,所述子节点对应于第一类型的视图;
生成所述子节点的第一子节点以用于包括在所述第一视图分级结构中,所述第一子节点对应于第二类型的视图;以及
生成包括节点的图,每个节点对应于所述UI的不同属性,其中所述根节点、所述子节点和所述第一子节点与来自所述图的相应节点有关系。


22.根据权利要求21所述的方法,其中所述第一类型的视图包括所述UI的图形元素的布局,并且所述第二类型的视图包括所述UI的所述图形元素,并且所述第一类型的视图是所述UI的所述图形元素的所述布局的条件视图。


23.根据权利要求21所述的方法,其中所述第一类型的视图包括X轴布局、Y轴布局、Z轴布局和径向布局中的至少一者。


24.根据权利要求21所述的方法,其中所述第一类型的视图包括以动画方式显示的特性,并且所述特性包括能够内插值的颜色、数值、矢量和特定特性中的至少一者。


25.根据权利要求21所述的方法,还包括:
接收用于在所述根节点上执行更新的第二命令;以及
响应于所接收的所述第二命令,在所述子节点和所述第一子节点上发起相应更新,其中所述相应更新至少部分地基于与所述子节点或所述第一子节点相关联的绑定信息。


26.根据权利要求25所述的方法,其中响应于输入、事件、通过网络接收的数据、手势和时间变化中的至少一者来接收所述第二命令。


27.根据权利要求25所述的方法,其中在所述子节点和所述第一子节点上发起相应更新还包括:
生成与表示第二用户界面(UI)的第二视图分级结构中的第二根视图相关的第二根节点;
生成所述第二根节点的第二子节点以用于包括在所述第二视图分级结构中,所述第二子节点对应于第二类型的视图并且对应于更新的子节点;
生成所述第二子节点的相应子节点以用于包括在所述第二视图分级结构中,所述相应子节点对应于相应类型的视图;
更新包括相应节点的所述图,所述相应节点对应于来自所述第二视图分级结构的每个节点的不同属性;以及
丢弃包括所述根节点、所述子节点和所述第一子节点的所述第一视图分级结构。


28.一种系统,包括:
处理器;
存储器设备,所述存储器设备包含指令,所述指令在被所述处理器执行时使得所述处理器提供:
响应于接收到用于发起应用程序的命令,生成与表示用户界面(UI)的第一视图分级结构中的根视图相关的根节点;
生成所述根节点的子节点以用于包括在所述第一视图分级结构中,所述子节点对应于第一类型的视图;
生成所述子节点的第一子节点以用于包括在所述第一视图分级结构中,所述第一子节点对应于第二类型的视图;以及
生成包括节点的图,每个节点对应于所述UI的不同属性,其中所述根节点、所述子节点和所述第一子节点与来自所述图的相应节点有关系。


29.根据权利要求28所述的系统,其中所述第一类型的视图包括所述UI的图形元素的布局,并且所述第二类型的视图包括所述UI的所述图形元素,并且所述第一类型的视图是所述UI的所述图形元素的所述布局的条件视图。


30.根据权利要求28所述的系统,其中所述第一类型的视图包括X轴布局、Y轴布局、Z轴布局和径向布局中的至少一者。


31.根据权利要求28所述的系统,其中所述第一类型的视图包括以动画方式显示的特性,并且所述特性包括能够内插值的颜色、数值、矢量和特定特性中的至少一者。


32.根据权利要求28所述的系统,其中所述存储器...

【专利技术属性】
技术研发人员:J·A·肖K·S·麦康伯J·H·沙法尔J·S·哈珀
申请(专利权)人:苹果公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1