首页 / 专利库 / 软件 / 图形用户界面 / 动态生成的界面过渡

动态生成的界面过渡

阅读:1023发布:2020-05-08

专利汇可以提供动态生成的界面过渡专利检索,专利查询,专利分析的服务。并且描述了用于确定过渡的持续时间以及根据定时函数在过渡持续时间内从第一UI状态到第二UI状态来更改 用户界面 (UI)的外观的技术,所述定时函数 指定 不同的外观变化速率并且是通过调整用于控制UI中的多个过渡的主函数以跨越过渡的过渡持续时间来取得的。确定定时函数内的拐点的时间值并且将过渡持续时间划分为第一部分和第二部分,使得第一部分从过渡持续时间的开始延伸到拐点的时间值并且第二部分从拐点的时间值延伸到过渡持续时间的结束。,下面是动态生成的界面过渡专利的具体信息内容。

1.一种由计算设备执行的方法,所述方法包括:
由所述计算设备确定用户界面(UI)从第一UI状态向第二UI状态的过渡的过渡持续时间;
由所述计算设备根据定时函数来更改所述UI的外观以在所述过渡持续时间内从所述第一UI状态过渡到所述第二UI状态,所述定时函数(i)指定所述过渡的过程中外观的不同变化速率,以及(ii)是通过调整主定时函数以跨越从所述第一UI状态向所述第二UI状态的所述过渡的所述过渡持续时间而取得的,所述主定时函数用于控制所述UI中的多个过渡,其中,所述UI的外观是通过以下操作来更改的:
确定所述定时函数内的拐点的时间值;
将所述过渡持续时间划分为第一部分以及第二部分,使得(i)所述第一部分从所述过渡持续时间的开始延伸到所述拐点的所述时间值,以及(ii)所述第二部分从所述拐点的所述时间值延伸到所述过渡持续时间的结束;
在所述过渡持续时间的所述第一部分期间逐渐地变换在所述第一UI状态中呈现的图形元素集合中的至少一个元素;和/或
在所述过渡持续时间的所述第二部分期间逐渐地变换在所述第二UI状态中呈现的图形元素集合中的至少一个元素。
2.根据权利要求1所述的方法,进一步包括对于所述UI中的所述多个过渡中的每个过渡:
在所述过渡持续时间内生成个体过渡持续时间;以及
其中,所述个体过渡持续时间从所述过渡持续时间的开始偏移指定的时间量。
3.根据权利要求1所述的方法,其中,至少一个离退元素以及至少一个新进元素的外观的至少一个参数在所述过渡期间被更改,所述至少一个参数包括以下中的一个或多个:相应图形元素的位置、大小、形状、Z-层级、定向、不透明度、颜色或明暗。
4.根据权利要求3所述的方法,其中,所述至少一个离退元素/新进元素的外观的参数是以由所述定时函数指定的改变的变化速率来更改的。
5.根据权利要求3所述的方法,其中,更改所述离退元素的外观的参数包括:根据所述定时函数在所述过渡持续时间内以变化的速度速率来将所述参数从初始值改变为最终值。
6.根据权利要求5所述的方法,其中,将所述参数从初始值改变为最终值包括将所述参数移动超过所述最终值。
7.根据权利要求6所述的方法,其中,将所述参数从所述初始值改变为所述最终值进一步包括:根据具有指定幅度和衰减的正弦函数在所述最终值周围以振荡方式来变化所述参数的值。
8.一种系统,包括:
至少一个处理器;以及
通信地耦合到所述至少一个处理器的存储器,所述存储器存储指令,所述指令在被所述至少一个处理器执行时使得所述至少一个处理器执行操作,所述操作包括:
由所述计算设备确定用户界面(UI)从第一UI状态向第二UI状态的过渡的过渡持续时间;
由所述计算设备根据定时函数来更改所述UI的外观以在所述过渡持续时间内从所述第一UI状态过渡到所述第二UI状态,所述定时函数(i)指定所述过渡的过程中外观的不同变化速率,以及(ii)是通过调整主定时函数以跨越从所述第一UI状态向所述第二UI状态的所述过渡的所述过渡持续时间而取得的,所述主定时函数用于控制所述UI中的多个过渡,其中,所述UI的外观是通过以下操作来更改的:
确定所述定时函数内的拐点的时间值;
将所述过渡持续时间划分为第一部分以及第二部分,使得(i)所述第一部分从所述过渡持续时间的开始延伸到所述拐点的所述时间值,以及(ii)所述第二部分从所述拐点的所述时间值延伸到所述过渡持续时间的结束;
在所述过渡持续时间的所述第一部分期间逐渐地变换在所述第一UI状态中呈现的图形元素集合中的至少一个元素;和/或
在所述过渡持续时间的所述第二部分期间逐渐地变换在所述第二UI状态中呈现的图形元素集合中的至少一个元素。
9.根据权利要求8所述的系统,所述操作进一步包括对于所述UI中的所述多个过渡中的每个过渡:
在所述过渡持续时间内生成个体过渡持续时间;以及
其中,所述个体过渡持续时间从所述过渡持续时间的开始偏移指定的时间量。
10.根据权利要求8所述的系统,其中,至少一个离退元素以及至少一个新进元素的外观的至少一个参数在所述过渡期间被更改,所述至少一个参数包括以下中的一个或多个:
相应图形元素的位置、大小、形状、Z-层级、定向、不透明度、颜色或明暗。
11.根据权利要求10所述的系统,其中,所述至少一个离退元素/新进元素的外观的参数是以由所述定时函数指定的改变的变化速率来更改的。
12.根据权利要求10所述的系统,其中,更改所述离退元素的外观的参数包括:根据所述定时函数在所述过渡持续时间内以变化的速度速率来将所述参数从初始值改变为最终值。
13.根据权利要求12所述的系统,其中,将所述参数从初始值改变为最终值包括将所述参数移动超过所述最终值。
14.根据权利要求13所述的系统,其中,将所述参数从所述初始值改变为所述最终值进一步包括:根据具有指定幅度和衰减的正弦函数在所述最终值周围以振荡方式来变化所述参数的值。
15.一种存储指令的计算机可读存储设备,所述指令在被一个或多个处理器执行时使得所述一个或多个处理器执行操作,所述操作包括:
由所述计算设备确定用户界面(UI)从第一UI状态向第二UI状态的过渡的过渡持续时间;
由所述计算设备根据定时函数来更改所述UI的外观以在所述过渡持续时间内从所述第一UI状态过渡到所述第二UI状态,所述定时函数(i)指定所述过渡的过程中外观的不同变化速率,以及(ii)是通过调整主定时函数以跨越从所述第一UI状态向所述第二UI状态的所述过渡的所述过渡持续时间而取得的,所述主定时函数用于控制所述UI中的多个过渡,其中,所述UI的外观是通过以下操作来更改的:
确定所述定时函数内的拐点的时间值;
将所述过渡持续时间划分为第一部分以及第二部分,使得(i)所述第一部分从所述过渡持续时间的开始延伸到所述拐点的所述时间值,以及(ii)所述第二部分从所述拐点的所述时间值延伸到所述过渡持续时间的结束;
在所述过渡持续时间的所述第一部分期间逐渐地变换在所述第一UI状态中呈现的图形元素集合中的至少一个元素;和/或
在所述过渡持续时间的所述第二部分期间逐渐地变换在所述第二UI状态中呈现的图形元素集合中的至少一个元素。
16.根据权利要求15所述的计算机可读存储设备,所述操作进一步包括对于所述UI中的所述多个过渡中的每个过渡:
在所述过渡持续时间内生成个体过渡持续时间;以及
其中,所述个体过渡持续时间从所述过渡持续时间的开始偏移指定的时间量。
17.根据权利要求15所述的计算机可读存储设备,其中,至少一个离退元素以及至少一个新进元素的外观的至少一个参数在所述过渡期间被更改,所述至少一个参数包括以下中的一个或多个:相应图形元素的位置、大小、形状、Z-层级、定向、不透明度、颜色或明暗。
18.根据权利要求17所述的计算机可读存储设备,其中,所述至少一个离退元素/新进元素的外观的参数是以由所述定时函数指定的改变的变化速率来更改的。
19.根据权利要求17所述的计算机可读存储设备,其中,更改所述离退元素的外观的参数包括:根据所述定时函数在所述过渡持续时间内以变化的速度速率来将所述参数从初始值改变为最终值。
20.根据权利要求19所述的计算机可读存储设备,其中,将所述参数从初始值改变为最终值包括将所述参数移动超过所述最终值。

说明书全文

动态生成的界面过渡

背景技术

[0001] 考虑到用于工作、休闲、商业以及社交交互的各种类型的计算设备的普遍性,许多人花费大量时间来查看在一个计算设备或其他计算设备上呈现的用户界面。因此,应用界面的设计者和开发者图提供易于使用的、直观的、视觉上令人愉悦的和/或以其他方式提供积极的用户体验的界面。在一些情况下,为了保持用户注意力集中并防止迷惑,操作系统和/或应用在界面的静态状态之间提供动画化过渡。为了被感知为连续且易于用户理解,这样的过渡可以协调界面中呈现的元素的移动、出现和/或消失的排序。这样的排序也可以称为编排。通常,每个过渡可以单独设计(即编排)并由应用开发者和/或操作系统指定发明内容
[0002] 本公开总体上涉及在用户界面(UI)中执行过渡。更具体地,一些实施方式涉及:基于指示在过渡期间各个元素在它们的外观上如何逐渐地更改的定时函数,在UI中动态地生成和执行状态之间的过渡。
[0003] 通常,恰好在UI的外观发生变化的时候,UI在向用户提供连续感时是最有效的。在许多UI中,元素配置中的特定变化是不可提前预测的。例如,应用开发者或操作系统设计者无法预测用户可能并发地运行的应用的全部组合或者最终可以在UI上布置的UI元素的许多不同排列组合,并且运行应用因此可能会导致需要进行应用中未做准备的UI过渡,从而可能会导致错误。此外,对应用指定UI元素过渡的许多不同排列组合的需求可能导致应用的大小显著增加,因此需要更大的存储空间并且可能使·应用运行更慢。本公开的各方面提供了在应用中的用户界面(UI)中执行过渡的方法,所述方法允许应用被更有效地编码,因此在减小应用的大小的同时允许应用处置全部可能的UI过渡。如下所述,尽管UI可以被配置以及随时间流逝而改变的方式有许多可能性,但是通过以一致的方式管理过渡的定时,可以增强UI的连续性以及UI向用户传达变化的能力。
[0004] 在一些实施方式中,UI过渡的特性由操作系统或其他软件动态地生成。计算系统可以获取关于UI的元素的当前布置以及要通过过渡实现的元素的期望布置的信息。通过评估两个UI状态之间的相似性以及差异,计算系统可以动态地设置过渡的属性。通过这种方法,系统可以增强过渡过程中的连续性并且保持灵活性以在范围广泛的UI配置之间执行过渡。此外,不需要应用指定过渡的特性。在计算系统在来自不同第三方的UI元素的不同组合的视图——诸如包括来自若干不同应用的元素的视图——当中过渡时,这种方法可以是尤其有用的。
[0005] 为了在许多不同类型的过渡上实现一致性,主定时函数可以用于取得UI外观上变化的定时以及模式。使用此主定时函数,可以针对具有不同持续时间的——例如,1秒或5秒——(整个UI的或UI中的一个或多个元素中的一者的)的过渡来订制过渡并且仍然共享一致的变化模式。例如,主定时函数可以指定UI元素在过渡的不同部分在UI上应当行进的相对运动速率。由主定时函数指定的定时模式可以被扩搜,例如压缩或拉伸以适应短的过渡或长的过渡,从而在不同类型的过渡上提供一致的变化模式。另外,相同的主定时函数可以用于确定用于不同类型的变化的过渡,例如单个应用的界面内的变化、窗口的布置或者在UI上一起示出的不同应用的其他元素的变化等。
[0006] 本说明书中描述的内容的一个创新方面体现在包括由计算设备确定用户界面(UI)从第一UI状态向第二UI状态的过渡的过渡持续时间的动作的方法中。动作还包括:由所述计算设备根据定时函数来更改所述UI的外观以在所述过渡持续时间内从所述第一UI状态过渡到所述第二UI状态,所述定时函数(i)指定所述过渡的过程中外观的不同变化速率,以及(ii)是通过调整主定时函数以跨越从所述第一UI状态向所述第二UI状态的所述过渡的所述过渡持续时间而取得的,所述主定时函数用于控制所述UI中的多个过渡。所述UI的外观是通过以下操作来更改的:确定所述定时函数内的拐点的时间值,将所述过渡持续时间划分为第一部分以及第二部分,使得(i)所述第一部分从所述过渡持续时间的开始延伸到所述拐点的时间值,以及(ii)所述第二部分从所述拐点的时间值延伸到所述过渡持续时间的结束,在所述过渡持续时间的所述第一部分期间逐渐地变换在所述第一UI状态中呈现的图形元素集合中的至少一个元素,和/或在所述过渡持续时间的所述第二部分期间逐渐地变换在所述第二UI状态中呈现的图形元素集合中的至少一个元素。
[0007] 此方面以及其他方面的其他实施例包括:被配置为执行在计算机存储设备上编码的方法的动作的对应的系统、装置以及计算机程序。一个或多个计算机或其他处理设备的系统可以借助于安装在系统上的在操作中使得系统执行动作的软件、固件硬件或它们的组合来如此配置。一个或多个计算机程序可以借助于具有指令来如此配置,所述指令在由数据处理装置执行时,使得装置执行动作。
[0008] 这些和其他实施例均可以可选地包括以下特征中的一个或多个。
[0009] 一些实施例包括在过渡持续时间内生成个体过渡持续时间,并且个体过渡持续时间从所述过渡持续时间的开始偏移指定的时间量。
[0010] 在一些实施例中,在过渡期间可以更改至少一个离退元素(outgoing element)以及至少一个新进元素(incoming element)的外观的至少一个参数,所述至少一个参数包括以下中的一个或多个:相应图形元素的位置、大小、形状、Z-层级、定向、不透明度、颜色或明暗。
[0011] 在一些实施例中,可以以由定时函数指定的改变的变化速率来更改至少一个离退元素/新进元素的外观的参数。
[0012] 在一些实施例中,更改离退元素的外观的参数可以包括根据所述定时函数在所述过渡持续时间内以变化的速度速率来将所述参数从初始值改变为最终值。
[0013] 在一些实施例中,将参数从初始值改变为最终值可以包括将参数移动超过最终值。
[0014] 在一些实施例中,将参数从初始值改变为最终值可以进一步包括根据具有指定幅度和衰减的正弦函数在所述最终值周围以振荡方式来变化所述参数的值。
[0015] 本说明书中描述的内容的另一创新方面体现在包括以下动作的方法中:接收对执行从第一UI状态到第二UI状态的用户界面(UI)过渡的指示;识别(i)图形元素中的在第一UI状态中呈现并且在第二UI状态中未呈现的至少一个离退元素,以及(ii)图形元素中的在第二UI状态中呈现并且在第一UI状态中未呈现的至少一个新进元素;确定从第一UI状态向第二UI状态的过渡的过渡持续时间;根据定时函数更改UI的外观以在过渡持续时间内从第一UI状态过渡到第二UI状态,所述定时函数指定在过渡的过程中外观的不同变化速率,其中,UI的外观是通过以下操作来更改的:在过渡持续时间的第一部分期间逐渐地从UI中移除至少一个离退元素,其中,至少一个离退元素的外观是以由定时函数指定的改变的变化速率来更改的;以及在过渡持续时间的第二部分期间逐渐地将至少一个新进元素添加到UI,其中,至少一个新进元素的外观是以由定时函数指定的改变的变化速率来更改的。
[0016] 本说明书中描述的内容的另一创新方面体现在由计算设备执行的方法中,所述方法包括以下动作:由计算设备确定用户界面(UI)从第一UI状态向第二UI状态的过渡的过渡持续时间;由计算设备根据定时函数更改UI的外观以在过渡持续时间内从第一UI状态过渡到第二UI状态,所述定时函数(i)指定过渡的过程中中外观的不同变化速率,以及(ii)是通过调整主定时函数以跨越从第一UI状态向第二UI状态的过渡的过渡持续时间而取得的,主定时函数用于控制UI中的多个过渡,其中,UI的外观是通过以下操作来更改的:定义过渡持续时间的第一部分以及第二部分,使得(i)第一部分从过渡持续时间的开始延伸到第一点的时间值,以及(ii)第二部分从第二点的时间值延伸到过渡持续时间的结束;在过渡持续时间的第一部分期间逐渐地变换在第一UI状态中呈现的图形元素集合中的至少一个元素;和/或在过渡持续时间的第二部分期间逐渐地变换在第二UI状态中呈现的图形元素集合中的至少一个元素。第一点的时间值可以等于第二点的时间值,使得过渡持续时间的第一部分与过渡持续时间的第二部分相邻但不重叠;在这种情况下,第一点的时间值可以是定时函数内的拐点的时间值。替选地,第一点的时间值可以大于第二点的时间值,使得过渡持续时间的第一部分与过渡持续时间的第二部分重叠。替选地,第一点的时间值可以小于第二点的时间值,使得过渡持续时间的第一部分与过渡持续时间的第二部分分离并且不重叠。
[0017] 这些以及其他实施例均可以可选地包括以下特征中的一个或多个。
[0018] 一些实施例包括用于以下的特征:确定用于控制UI中的多个过渡的主定时函数,以及通过调整主定时函数以跨越过渡持续时间来取得用于过渡的定时函数。
[0019] 一些实施例包括用于以下的特征:确定在由定时函数指定的最大变化速率的阈值时间范围内的拐点时间,并且将过渡持续时间划分为第一部分和第二部分,使得(i)第一部分从过渡持续时间的开始延伸到拐点时间,以及(ii)第二时间段从拐点时间延伸到过渡持续时间的结束。
[0020] 在一些实施例中,在过渡期间可以在以下中的一个或多个方面更改至少一个离退元素以及至少一个新进元素的外观:相应图形元素的位置、大小、形状、Z-层级、定向、不透明度、颜色或明暗。
[0021] 在一些实施例中,逐渐地更改至少一个离退元素的外观包括:逐渐地将至少一个离退元素的不透明度从在初始UI状态中完全不透明更改为在拐点时间时完全透明。
[0022] 在一些实施例中,逐渐地更改至少一个新进元素的外观包括:逐渐地将至少一个新进元素的不透明度从在拐点时间时完全透明更改为在最终UI状态中完全不透明。
[0023] 在一些实施例中,逐渐地更改至少一个离退元素的外观包括:逐渐地将至少一个离退元素的大小从在初始UI状态中的初始大小更改为在拐点时间时的零大小。
[0024] 在一些实施例中,逐渐地更改至少一个新进元素的外观包括:逐渐地将至少一个新进元素的大小从在拐点时间时的零大小更改为在最终UI状态中的最终大小。
[0025] 一些实施例包括用于以下的特征:识别在外观上不是逐渐可变的图形元素(“即刻过渡元素(snap-transitioned element)”)的至少一个元素,以及更改至少一个即刻过渡元素的外观以在根据定时函数定义的特定时间处,从在初始UI状态中的相应的初始外观改变为在最终UI状态中的相应的最终外观。
[0026] 一些实施例包括用于以下的特征:识别图形元素的在初始UI状态和最终UI状态两者中呈现的至少一个共享元素,并且将所述至少一个共享元素的外观从在初始UI中的相应的初始外观逐渐地更改到最终UI状态中的相应的最终外观,至少一个共享元素的外观的逐渐更改是响应于接收到的指示而根据定时函数动态地确定的。
[0027] 在一些实施例中,逐渐地更改至少一个共享元素的外观包括:在过渡期间根据定时函数来以变化的速度将每个共享元素从初始位置移动到最终位置。
[0028] 在一些实施例中,逐渐地更改至少一个共享元素的外观包括:在过渡期间根据定时函数以变化的大小改变速率将每个共享元素的大小从初始大小改变为最终大小。
[0029] 在一些实施例中,逐渐地更改至少一个共享元素的外观包括:在过渡期间根据定时函数以变化的旋转速率将每个共享元素从初始定向旋转到最终定向。
[0030] 在一些实施例中,逐渐地更改至少一个共享元素的外观包括:在过渡期间根据定时函数以变化的颜色改变速率将每个共享元素的颜色从初始颜色变化为最终颜色[0031] 一些实施例包括用于以下的特征:访问定义单调递增的曲线的主定时函数的数据,通过缩放曲线以在整个过渡持续时间上延伸来取得用于过渡的定时函数。
[0032] 在一些实施例中,逐渐地移除至少一个离退元素包括:以由缩放的曲线的第一部分定义的定时模式来更改至少一个离退元素的外观。
[0033] 在一些实施例中,逐渐地移除至少一个离退元素包括:以由缩放的曲线的第二部分定义的定时模式来更改至少一个离退元素的外观。
[0034] 在UI中的两个状态之间的过渡期间,动画框架、操作系统和/或其他软件模在UI在状态之间过渡的时间段中的至少一部分期间协调在UI中呈现的图形元素的排序以及外观(例如编排)。图形元素可以以文本、形状、符号、颜色、图标、图像、视频数据、图形、窗口、面板、框架等形式呈现信息。图形元素还可以包括用户可以与其交互的控件,诸如按钮、列表、标签、菜单、数据录入表单域、滑块控件、可点击图形、可选图标等。
[0035] 图形元素可以包括静态元素、共享元素、新进元素和/或离退元素。静态元素包括在过渡中的UI的初始状态和最终状态两者中具有相同外观(例如位置、形状、大小、颜色等)的那些元素,使得在过渡期间可能不需要更改它们的外观。共享元素在初始状态和最终状态两者中存在并且在初始状态和最终状态之间呈现出外观变化。这样的外观的变化可以包括位置、大小、形状、定向、Z-层级、不透明度、图案、颜色或元素外观的一些其他方面中的一个或多个上的变化。离退元素存在于初始状态但不存在与最终状态。新进元素存在于最终状态但不存在于初始状态。离退元素和新进元素可以通过大小、不透明度、位置和/或一些其他可见特性的改变来相应地过渡出UI或过渡进入UI。
[0036] 通常,计算系统不使用用于界面过渡编排的标准方法,并且应用开发者通常单独设计每个过渡以力图实现美学上令人愉悦的结果。例如,在应用的传统开发期间,开发者可以尝试可视化应用的UI状态之间的每个可能的过渡,并且然后针对每个可能的过渡人工地编撰查找表。查找表可以指示在过渡期间每个元素各个中间时间点处的特定状态,或者可以以其他方式针对每个个体元素描述该元素将被动画化以实现过渡的特定方式。这种人工的、高度定制化的并且劳动密集的过渡设计过程为每个过渡创建了复杂的依赖关系集合,通常没有针对值如何相关或值将需要如何调整以适应诸如总体过渡速度的变化、输出显示大小的变化等的各种不确定事件的底层逻辑。查找表必须被编码到应用中,并且随着查找表的大小增加而增加应用的大小以及从查找表中检索条目所需的时间,从而降低了应用的速度。此外,使用中的应用可能遇到需要进行应用中未提供的UI过渡的情况。
[0037] 本文描述的实施方式,通过以下来增强UI过渡过程:通过使用跨特定应用、多个应用中的或更宽泛的计算环境内的多个过渡所应用的单个定时函数来管理多个过渡的编排。共同的定时函数将过渡的进展关联于时间,使得定时函数针对过渡期间的每个时间提供每个元素在该时间在其过渡中所到达的进展程度。
[0038] 在一些实施方式中,管理过渡的动画框架或其他软件模块接收主定时函数以及过渡的持续时间作为输入。主定时函数以及持续时间可用于通过拉伸或压缩主定时函数以跨越过渡的特定持续时间来取得特定过渡的定时函数。主定时函数可以由(例如应用的)设计者指定。定时函数被(例如直接地)应用于共享元素,使得每个共享元素的外观根据定时函数跨过渡的持续时间来逐渐地更改。如下面进一步描述的,根据定时函数在初始状态和最终状态之间对每个共享元素的各个外观特性(例如大小、位置、定向等)的值进行插值。
[0039] 拐点时间是基于定时函数来确定的或者是以其他方式与定时函数相关联的。在一些实施方式中,拐点时间是定时函数的峰值速度的时间(例如,具有最大变化速率的点或具有定时函数的一阶导数的最大值的点)和/或在峰值速度的时间的阈值时间段内。定时函数可以在拐点时间处被划分成第一子部分(在拐点时间之前)和第二子部分(在拐点时间之后)。从过渡开始到拐点时间的第一子部分用于驱动离退元素的动画化,使得离退元素根据插值逐渐更改,所述插值根据第一子部分来执行。离退元素以初始外观在初始UI状态处开始,并且它们的外观逐渐地更改直到离退元素在拐点时间时从UI中消失。从拐点时间到过渡结束的第二子部分用于驱动新进元素的动画化,使得新进元素根据插值逐渐更改,所述插值根据第二子部分来执行。新进元素在拐点时间时开始出现在UI中并且逐渐地改变外观直到在最终UI状态中达到最终外观。也就是说,离退元素在第一子部分期间逐渐地从UI中消失并且新进元素在第二子部分期间逐渐地在UI中出现。
[0040] 不同于根据传统技术为每个过渡使用独特的、单独设计的(例如订做的)编排,实施方式可以采用单个定时函数或单个主定时函数来管理应用、应用集合或更宽泛的计算环境内的多个界面过渡。通过使用共同的定时函数或主定时函数,对于多个过渡,实施方式允许基于单个主定时函数来控制多个UI过渡,从而消除了将查找表编码到应用中的需求并且因此减少了应用的大小并消除了由从查找表中检索条目所导致的延迟。实施方式还提供了紧密结合的过渡的集合,所述过渡总体上关于外观、格、感知连续性、易于理解以及积极的用户体验方面是一致的。通过调整过渡的持续时间以及取得定时函数——所述定时函数是被调整到经调整的持续时间的主函数,实施方式还可以在用户对速度的感知方面提供对个体过渡的优化的简易性。这促进微调一个或多个过渡。
[0041] 在一些实施方式中,定时函数还用于管理在过渡期间不适合逐渐更改的那些元素的过渡,诸如在初始状态和最终状态中显示不同文本的元素或在初始状态和最终状态之间改变多个行和/或列的表格视图或网格元素等。这样的元素在本文中描述为即刻过渡元素。在一些实施方案中,即刻过渡元素在与定时函数相关联的拐点时间从它的初始状态改变到它的最终状态。这种变化可以是在呈现的即刻过渡元素上的、从它们的初始状态到它们的最终状态的切割、溶解或其他基本瞬时的变化。因此,可以使用相同的定时函数来管理逐渐地更改的元素(例如共享、新进元素和/或离退元素)以及不是逐渐地更改的即刻过渡元素的过渡。
[0042] 在一些实施方式中,采用单个主定时函数来管理多个UI过渡,其中主定时函数被调整以适应单独的UI过渡中的每一个的跨度。在一些实施方式中,可以使用多个主定时函数,其中将每个定时函数应用于管理不同类别或类型的过渡,或者其中使用相应的不同主定时函数来控制单个UI过渡中的不同元素的变换。例如,一个定时函数可以产生对用户相对不显眼的速度上的变化并且可以用于处置更功能性的过渡。另一个定时函数可以产生稍微更加突然的速度变化并且可以用于在重要时刻时强调。实施方式自动将全部过渡元素的编排调整为应用于特定过渡的定时函数。
[0043] 实施方式提供以下技术优势中的一个或多个。通过采用定时函数来动态地确定在从初始状态到最终状态的UI过渡期间元素将被更改的方式,实施方式避免了在应用的开发期间人工地设计并编码个体过渡的需求。因此,实施方式提供了更简单、更少耗时并且更不易于引入错误的更有效率的开发过程。此外,通过将单个定时函数应用于多个过渡,实施方式避免需要每个过渡在查找表中人工指定或以其他方式硬编码及预先确定。因此,与可执行文件需要包括针对每个可能的过渡的硬编码的和/或单独指定的编排的情况相比,实施方式以更小的二进制、机器代码可执行文件、可执行脚本或中间语言文件的形式为应用提供更小大小的可执行文件。因此,实施方式减少了相应地存储和/或传送可执行文件所需的存储空间和/或网络带宽的量。
[0044] 在附图和以下描述中阐述了本说明书中描述的主题的一个或多个实施例的细节。根据说明书、附图以及权利要求书,本内容的其他特征、方面和优点将变得显而易见。

附图说明

[0045] 图1描绘了根据本文描述的实施方式的用于界面过渡的动态生成及执行的示例系统。
[0046] 图2描绘了根据本文描述的实施方式的过渡界面的示例初始状态以及最终状态。
[0047] 图3描绘了根据本文描述的实施方式的用于动态地生成界面过渡的示例定时函数。
[0048] 图4描绘了根据本文描述的实施方式的用于动态地生成界面过渡的示例定时函数。
[0049] 图5描绘了根据本文描述的实施方式的在界面过渡期间特定UI元素可以沿其变换的示例路径。
[0050] 图6描绘了根据本文描述的实施方式的基于示例定时函数来执行的示例界面过渡。
[0051] 图7描绘了根据本文描述的实施方式的基于示例定时函数来执行的另一示例界面过渡。
[0052] 图8描绘了根据本文描述的实施方式的基于示例定时函数来执行的示例界面过渡效果。
[0053] 图9描绘了根据本文描述的实施方式的基于示例定时函数来执行的另一示例界面过渡效果。
[0054] 图10描绘了根据本文描述的实施方式的基于示例定时函数来执行的示例界面过渡。
[0055] 图11描绘了根据本文描述的实施方式的用于界面过渡的动态生成以及执行的示例过程的流程图
[0056] 图12描绘了根据本文描述的实施方式的用于选择基于示例性定时函数来执行的特定界面过渡的参数值的示例界面。
[0057] 各图中相似的附图标记以及名称指示相似的元素。

具体实施方式

[0058] 图1描绘了根据本文描述的实施方式的用于动态生成和执行界面过渡的示例系统100。如图1的示例中所示,用户102可以操作用户设备104。用户设备104可以是任何合适类型的计算设备,包括便携式(例如移动)计算设备,诸如智能电话、平板计算机、可穿戴计算机等。用户设备104还可为是便携性稍弱类型的计算设备,诸如膝上型计算机、台式计算机、智能电器、游戏或娱乐控制台等。应用可以在用户设备104上执行并且通过用户设备104的显示器呈现UI。在一些情况下,应用可以在某个其他计算设备上执行并且可以发送要通过用户设备104的显示器呈现的输出。在任一情况下,软件模块106可以执行以管理应用UI的两个UI状态之间的过渡114。在一些情况下,软件模块106可以是动画框架,所述动画框架是操作系统(OS)的组件和/或OS的特定实现的组件。在一些情况下,软件模块106可以是管理各种应用UI的信息显示的库(library)、OS组件和/或OS实现组件。替选地,软件模块106可以针对特定应用来处置信息的显示和/或可以是应用的组件。模块106可以包括一个或多个过渡管理模块108,其处置UI从初始UI状态110到最终UI状态112的过渡118。替选地,模块
106本身可以处置过渡118。
[0059] 初始UI状态110和最终UI状态112可以由模块108和/或106确定。初始UI状态110是UI在过渡开始时(例如紧接在其前面)的状态,并且最终UI状态112是UI在过渡结束时(例如紧接在其后面)的状态。诸如初始状态、最终状态或任何中间状态的UI状态,可以在任何合适的布置中包括任何合适数目的图形元素,其中每个图形元素在它的外观上具有特定的特性集合。外观特性可以包括但不限于以下中的一个或多个:以X和Y坐标或一些其他坐标系表达的UI内的元素的位置;指示深度或堆叠层级和/或元素是否在其他元素的下和/或上的元素的Z-层级;诸如长度、宽度和/或其他尺寸的元素的大小;相对于某个合适的参考轴的元素的定向;指示元素的透明度或不透明度的程度的元素的不透明度;根据任何合适的颜色调色板或颜色模型描述的元素的颜色;和/或元素的填充图案(例如交叉阴影线等)。
[0060] 在一些实施方式中,采用定时函数114以及过渡持续时间116来确定在从初始UI状态110到最终UI状态112的过渡期间多种元素将被动画化的特定方式。过渡持续时间116是从开始时间(例如在UI处于它的初始UI状态时)到结束时间(例如在UI处于它的最终UI状态时)的完成过渡的时间量。如上所述,定时函数是时间的函数,p=F(t),其中p指示在从初始状态到最终状态的元素在其过渡中的进展程度。定时函数114可以被描绘为二维的曲线,其中X轴是时间并且Y轴是进展程度。例如,定时函数114可以被描绘为从(0,0)到(1,1)的曲线,其示出了随着时间的推移的过渡的进展。在此示例中,点(0,0)表示过渡的开始或第一UI状态并且点(1,1)表示在时间t=1达到第二UI状态时的过渡的结束。定时函数114还可以被描述为缓动函数。在一个特定示例中,定时函数114是三次贝塞尔(cubic Bézier)曲线。可以使用多种曲线或函数中的任何一种来指定过渡发生的模式和速率。
[0061] 在一些实施方式中,定时函数114提供对于查看用户显现为更自然、柔和或美观的过渡。例如,代替将使得元素以固定速度以突然的开始和突然的结束来机械地从一个状态进展到另一个状态的严格线性函数,定时函数114可以指示元素的进展是在过渡开始时逐渐开始,稍微加速直到过渡中间的某个时间,然后开始减速直到元素在过渡结束时缓动进入其最终状态。因此,定时函数可以在过渡期间的某个时间表现出至少一个拐点,在该时间时元素停止加速并开始减速。下面参考图3进一步描述定时函数114的示例。
[0062] 在一些实施方式中,采用主定时函数来取得用于管理一个或多个不同过渡的一个或多个特定定时函数114。主定时函数是其持续时间可以未指定或者可以具有特定(例如默认)持续时间的定时函数。可以通过适当地扩展或压缩主定时函数来从从主定时函数中取得特定的定时函数114,以跨越将用于特定过渡的特定持续时间。以这种方式,实施方式可以采用主定时函数来为多个过渡提供类似表现的累进但是具有可能不同的过渡持续时间[0063] 模块108和/或模块106可以采用定时函数114来确定如何在过渡期间逐渐地更改每个图形元素的外观。对于共享元素,可以采用整个定时函数来确定每个共享元素从初始UI状态到最终UI状态的外观上的变化的进展速率。例如,如果共享元素在过渡中从一个位置(x1,y1)移动到另一位置(x2,y2),则随着它从第一位置移动到第二位置,定时函数可用于在过渡期间在不同时间处对元素的位置进行插值。作为一个特定示例,如果定时函数指示在过渡期间元素在时间t时已完成了p进展(例如在从0到1的范围上),则插值可以指示在时间t时元素的x-位置是x1+(x2-x1)×p,并且在时间t时元素的y-位置是y1+(y2-y1)×p。作为另一示例,在共享元素的大小从在初始UI状态中具有尺寸d1变化到在最终UI状态中具有尺寸d2的情况下,如果定时函数p=F(t)指示在时间t时已经达到进展程度p,则插值可以指示在时间t时元素的尺寸(例如长度、宽度、半径等)是|d1-d2|×p。
[0064] 对于其他类型的视觉特性,元素的视觉特性的插值可以以类似方式来确定。例如,如果在过渡期间元素要改变它的定向,则元素可以以基于定时函数确定的速率来从它的初始定向逐渐地旋转到它的最终定向。作为另一示例,如果在过渡期间元素要改变它的不透明度,则根据定时函数元素可以随着时间的推移逐渐渲染为更多或更少的不透明。作为另一示例,如果在过渡期间元素要改变它的颜色,则元素从它的初始颜色(例如RGB)值到它的最终颜色值的进展可以根据由定时函数指示的改变速率来确定。在一些情况下,可以在过渡期间同时更改元素的多个外观特性,并且可以通过基于相同定时函数的插值来逐渐地改变每个外观特性。
[0065] 在一些实施方式中,可以将过渡的持续时间内的特定时间规定为拐点时间。在一些实施方式中,拐点时间是定时函数的峰值速度(例如最大一阶导数)的时间或者处于峰值速度的时间的阈值时间段内。可以基于拐点时间来将定时函数划分为第一子部分和第二子部分。第一子部分可以是定时函数从过渡的开始时间直到拐点时间为止的部分,并且第二子部分可以是定时函数从拐点时间到过渡的结束时间的部分。使用与上述类似的插值,第一子部分可用于控制离退元素的过渡。拐点可以将整个过渡持续时间分成两个部分或时段,也称为子部分。
[0066] 例如,在过渡开始时,离退元素在初始UI状态中以其初始外观呈现在UI中并且根据基于第一子部分的插值来逐渐地更改外观直到在拐点时间时离退元素从UI中消失。类似地,第二子部分可用于控制新进元素的过渡。在拐点时间时,新进元素开始出现在UI内并且根据基于第二子部分的插值来逐渐地更改外观直到新进元素在最终UI状态中达到它们的最终外观。因此,在一些实施方式中,新进元素和离退元素二者都不可以在拐点时间时在UI中呈现。以这种方式,两个UI状态之间的总体过渡可以被划分为两个不同的部分或时段,其中离退元素的改变在第一部分期间进行并且新进元素的改变在第二部分期间进行。运动模式或其他变化遵循由定时函数的对应段定义的进展。例如,拐点本质上可以将定时函数分割成分别被用于过渡的不同方面的两条曲线。将定时函数曲线在第一子部份结束处的值定义为表示离退元素的移除的100%进展以及新进元素的添加的0%进展,而不论在拐点处的定时函数曲线的值如何。
[0067] 在一些情况下,UI可以呈现不适合逐渐更改的元素,诸如呈现在过渡期间改变的文本的元素、在过渡期间改变多个行和/或列的表格或网格元素等。这样的元素被描述为即刻过渡元素。在一些实施方式中,即刻过渡元素在拐点时间时外观上从它们的初始状态变化到它们的最终状态。静态元素可以在整个过渡期间保持相同的外观并且因此可以不受到基于定时函数的更改。
[0068] 通过使用主定时函数来驱动过渡中的UI中的多种图形元素的过渡,实施方式避免了对应用内的多种可能过渡的单独设计的、预定的过渡动画的需求。实施方式提供在应用内动态生成的UI过渡,其中响应于接收到需要这样的过渡的指示而在应用的执行期间(例如在运行时)确定过渡。例如,用户可能正在用户设备104上查看应用并且用户可以执行提示应用从一个状态过渡到另一状态的动作。作为一个特定示例,用户可以选择控件(例如在上面点击、做手势)以请求应用呈现与当前呈现的视图不同的视图,其中不同地呈现元素和/或具有不同的元素。响应于用户选择,应用可以发起从当前视图到新视图的过渡并且响应于用户选择并基于如本文所述的定时函数可以动态地确定过渡将被动画化的特定方式。
[0069] 在一些实施方式中,过渡的、移除离退元素的第一时段可以与添加新进元素的第二时段重叠。例如,可以定义不同的开始和停止时间,而不是使用单个拐点来定义两个时段。例如,在时间1表示完整的过渡持续时间的情况下,第一时段可以在[0,0.75]的时段内发生,而第二个时段可以在[0.25,1]的时段内发生。因此,为了实现期望的视觉效果,过渡的第一时段和第二时段可以部分或完全重叠。
[0070] 对于在两个UI状态之间在外观上移动或变化的共享元素,变化可以根据若干选项中的一个发生。例如,共享元素的外观上的变化可以在整个过渡持续时间中逐渐地发生。作为另一示例,共享元素的变化连同离退元素的变化一起可以仅在第一时段期间发生。作为另一示例,共享元素的变化连同新进元素的变化一起可以仅在第二时段期间发生。作为另一示例,过渡可以被划分为三个时段,诸如在其中发生离退元素的变化的第一时段、在其中共享元素被改变的第二时段以及添加新进元素的第三时段。时段可以是非重叠的或者可以是重叠的。对于改变共享元素的这些不同方法中的任何一种,运动模式遵循定时函数的对应部分的定时,其中例如如果变化发生在整个过渡持续时间的第一半部,则变化从0%到100%的进展如定时函数的第一半部所指定来发生。
[0071] 图2描绘了正在从初始状态110过渡到最终状态112的UI的示例200。在该示例中,UI呈现两个共享元素202(1)和202(2)、离退元素204以及新进元素206。共享元素202(1)和202(2)在整个过渡期间是存在的但是在初始UI状态110与最终UI状态112之间外观变化。在此示例中,共享元素202(1)改变它的位置(但不改变它的大小)并且共享元素202(2)改变它的大小(例如长度和宽度尺寸)。离退元素204在初始UI状态110中存在并且在最终UI状态
112中不存在。新进元素206在初始UI状态110中不存在并且在最终UI状态112中存在。
[0072] 图3描绘了用作用于动态地生成界面过渡的主定时函数的定时函数114的示例300。如上所述,要在过渡中使用的定时函数114从开始时间到结束时间跨越过渡持续时间
116。定时函数114可以针对持续时间期间的每个时间指示在该时间已经达到的过渡的进展程度。拐点时间302在定时函数114内被标识并且用作终止离退元素的过渡并开始新进元素的过渡的特定时间。第一子部分304是定时函数114的从开始时间到拐点时间302的部分并且第二子部分306是定时函数114的从拐点时间302到结束时间的部分。如上所述,第一子部分304以及第二子部分306相应地驱动离退元素和新进元素的逐渐变化。在一些实施方式中,定时函数114(例如,如缓动函数)不是线性的并且可以包括加速和减速的时段以为UI过渡提供更自然的感受。因此,定时函数114可以提供过渡的线性时间累进到非线性的进展速率的映射。
[0073] 图3还示出了定时函数114的图形化一阶导数(例如时间导数)的示例308,其中速度是进展随时间的变化速率。在此示例中,拐点时间302是定时函数114的峰值速度的时间,诸如定时函数114的一阶导数的局部最大值或总体最大值。替选地,拐点时间302可以近似为峰值速度的时间和/或在峰值速度的时间的阈值时间段内。也可以使用定时函数114的时间跨度内的其他合适的拐点时间302。在一些实施方式中,定时函数114在定时函数的整个跨度上是单调的或非递减的,这可以向UI过渡的查看者提供具有更高一致性的感觉。
[0074] 图4描绘了可以应用于UI过渡的特定定时函数114a、114b和114c的示例400。在这些示例中,函数是三次贝塞尔函数,其对平滑曲线进行建模并创建不会使查看者不快的无缝过渡的效果。管控特定过渡的定时函数中的改变通过改变例如大部分的过渡执行的速度来提供不同的效果。过渡执行的速度或过渡的加速度可以确定对查看过渡的用户引发的感受。这种过渡效果称为缓动。例如,具有提供例如标准缓动的特定二阶导数(例如二阶时间导数)的诸如定时函数114a的特定三次贝塞尔函数引发与具有更大的二阶导数(例如更大的二阶时间导数或更快的加速度)的诸如定时函数114b的函数引发的感觉不同的感觉,使得具有更快加速度的函数可以提供更剧烈的效果并且进一步强调UI过渡,并且可以提供经强调的缓动。具有更小二阶导数(例如更小的二阶时间导数或更慢的加速度)的诸如定时函数114c的函数可以提供更加柔和的效果并且弱化对UI过渡的强调并且可以提供另一种形式的经强调的缓动。
[0075] 每个不同定时函数114a、114b以及114c的效果可以提供不同的基调。例如与定时函数114a相比,定时函数114b可以提供强烈的基调,并且在与定时函数114a相比时,定时函数114c可以提供放松和优雅的基调。经强调的缓动对UI过渡的结束加以强调并且在被查看时可以表达轻松和强烈的感受二者。在一些实施方式中,在存在相对于应用于特定UI过渡的定时函数114更快的加速度时,可以存在更慢的减速度从而更慢地完成UI过渡。例如,如果UI对象根据定时函数114b在线性路径中在从屏幕外移动到屏幕中间,则UI对象最初将以快速加速度移动并且然后随着它停止而更慢地移动到最终UI状态。
[0076] 除了定时函数的一阶导数和二阶导数之外,还可以改变UI过渡的持续时间。参考图4所描述的操作可以由软件模块106、过渡管理模块108或在用户设备104或其他地方执行的其他软件模块中的一个或多个来执行。UI过渡的持续时间是过渡的定时函数跨越的时间长度,并且过渡持续时间的变化可以具有不同的视觉效果。在一些实施方式中,缩短动画的持续时间可使它感觉起来更突显并且更强烈或集中,而延长动画的持续时间可表达不会引起对任何一个UI元素或过渡的注意的更轻松的基调。
[0077] 不同类型的定时函数可以具有不同的最佳持续时间。例如,具有慢速或甚至标准加速度的函数对于高于某个阈值的持续时间——诸如400ms可能产生不良的视觉效果或者以其他方式执行欠佳。人类查看者可以具有诸如300ms的UI过渡的优选持续时间,并且在一些实施方式中,对在优选持续时间附近做出的对过渡持续时间的调整可以提供期望的效果或从查看者引发期望的感觉。例如,对过渡持续时间的微小调整,诸如将过渡的持续时间从300ms增加到350ms可以表达更放松的效果,或者将过渡的持续时间从300ms缩短到250ms可以表达更突显的效果。然而,对于过渡的持续时间的大幅调整,诸如将过渡从300ms减慢到
550ms对于普通人类查看者来说可能太慢,而将过渡从300ms加速到115ms的过渡可能引起不快。应用于特定UI过渡的定时函数114的持续时间的改变以及用于实施改变的机制在下面参考图12进一步详细描述。
[0078] 图5描绘了特定UI元素多个路径502a、502b、502c、502d以及502e的示例500,元素在它的过渡期间可以沿所述多个路径变换。在元素变换时,它沿着称为路径的线变换,所述路径将UI元素的参数值定义为时间的函数(其中UI元素的参数可以例如是元素的位置、元素的大小、元素的形状、元素的Z-层级、元素的定向、元素的不透明度、元素的颜色、元素的明暗等)。在一些实施方式中,默认情况下路径可以是线性的并且如果元素改变大小或者斜线移动,则路径可以是线性的或沿着弧线。在这些特定示例中,UI元素可以沿着任何类型的路径在屏幕的可视部分内改变位置(例如改变xyz坐标)。UI元素在路径开始处以UI元素的初始UI状态开始并跟随路径到达UI元素的最终UI状态。除了改变位置之外,UI元素还可以例如通过展开或折叠到它的最终UI状态来改变外观。可以执行各种其他视觉过渡,诸如从一种形状过渡到不同形状、从屏幕的可视部分内过渡到屏幕的可视部分外部、通过相应地增加或减少UI元素的透明度淡入或淡出视图等,但为了便于说明,图5描绘了用于坐标变化和展开以及压缩的示例性路径。然而应当理解的是,描述通常适用于UI元素的任何参数。
[0079] 路径502a是线性路径,路径502b是由函数定义的路径并且路径502c是不遵循特定函数的用户定义的路径。路径502、502b以及502c中的每一个是特定UI元素可以沿其在UI元素的整个过渡期间从UI元素的初始UI状态行进到UI元素的最终UI状态的路径。UI元素可以在它的初始UI状态下在点502a(1)、502b(1)和/或502c(1)处开始并且可以沿着由路径502a、路径502b和/或路径502c定义的点以由特定定时函数114管控的速度行进,直到它在在定时函数持续时间结束时在它的最终状态下到达点502a(2)、502b(2)和/或502c(2)。
[0080] 路径502d是特定UI元素可以沿其在UI元素的整个过渡期间从UI元素的初始UI状态504展开到UI元素的最终UI状态506的线性路径。在该示例中,诸如文本框或卡片的UI元素可以以直接方式在折叠状态(例如初始UI状态504)和展开状态(例如最终UI状态506)之间变换。线性运动产生适合大多数过渡的简单运动并且最小程度地分散注意力。UI元素内的点被移动到不同的坐标并且随着它们从状态504变换到状态506在大小上被展开。UI元素内的点的运动由路径502d定义,并且UI元素内的特征的变换由路径502d的函数以及应用于特定UI过渡的定时函数114管控。例如,UI元素内的特征的展开可以通过以下来自动生成:将路径502d和定时函数114应用于UI元素的矢量化形式,以使得UI元素可以相对于它的初始UI状态506在各个点处沿着路径502d被变换。
[0081] 路径502e是弧形路径,特定UI元素可以沿其在UI元素的整个过渡期间从UI元素的初始UI状态508展开到UI元素的最终UI状态510。在此示例中,诸如文本框或卡片的UI元素可以以自然方式在折叠状态(例如初始UI状态508)和展开状态(例如最终UI状态510)之间变换。弧形模仿自然运动,并且适用于需要对诸如特定的UI对象或元素的表面的纵横比进行大幅调整的过渡。UI元素内的点被移动到不同的坐标并且随着它们从状态508变换到状态510在大小上被展开。UI元素内的点的运动由路径502e定义并且UI元素内的特征的变换由路径502e的函数以及应用于特定UI过渡的定时函数114管控。例如,UI元素内的特征的展开可以通过以下来自动生成:将路径502e和定时函数114应用于UI元素的矢量化形式,使得UI元素可以相对于它的初始UI状态508在各个点处沿着路径502e被变换。
[0082] 弧形路径具有两个可能的定向,称为垂直离退(vertical out)和平离退(horizontal out)。垂直离退意指跟随该弧的UI元素将以垂直运动结束,而水平离退意指跟随该弧的UI元素将以水平运动结束。在一些实施方式中,特定定向更适合于特定UI过渡并且可以通过考虑展开的表面的运动来确定最佳弧形路径定向。弧形应与UI的主滚动轴匹配。例如,垂直滚动UI中的卡片元素最佳将使用垂直离退弧形,首先水平移动然后垂直移动来展开。在一些实施方式中,UI元素的相反过渡沿着相同路径在相反方向上执行。按照此示例,在卡片折叠时运动反转并且UI元素首先垂直然后水平地移动。
[0083] 图6描绘了称为过冲(overshoot)的特定类型的过渡效果的示例600。过冲指代将元素动画化移动超过它的静止位置,如被大力推动。振荡——一种类型的过冲——是一种UI过渡使用多于一个的过冲效果的移动效果。每个附加的来回移动都小于先前一次。为了便于解释,再次参考坐标变化和展开以及压缩来描述过冲,但是将再次理解的是,描述通常适用于UI元素的任何参数。在UI元素(例如UI元素602a或UI元素602b)沿着遵循正弦函数的路径以UI元素602的初始UI状态开始并且以UI元素602a或UI元素602b的最终UI状态为中心移动时,实施过冲。UI元素602a或UI元素602b在沿着它的过渡函数的特定点处过冲它的最终UI状态,从而提供在最终UI状态周围的振荡的独特并且有趣的视觉效果。这种视觉效果提供了包括提高的品牌认知的优点并且可以将有趣和难忘的视觉效果与特定网页或文档相关联。过冲可以强调重要或时间敏感的信息。过冲还可以向诸如开关或按钮的微小的UI元素传达游戏性以及活力,并且向使用此特定过渡效果动画化的元素提供古怪的特性。然而,振荡可能不适合应用于需要功能性的并且有效率的交互的应用。在此示例中,图示出了过冲的振荡情况。可以将振荡用于施加特定可辨识的样式,诸如从初始UI状态过渡到最终UI状态并且跟随路径604的UI。在过渡的开始时间T1,UI以与UI元素602a相对应的外观606(1)a或与UI元素602b相对应的外观606(1)b处于它的初始UI状态中。在后续的时间T2,随着UI元素602a和/或UI元素602b如定时函数114d所管控的已经从它的初始UI状态朝向并超过它的最终UI状态移动并且已经过冲了最终UI状态,UI已经开始它的过渡并且展现出与UI元素602a相对应的外观606(2)a或与UI元素602b相对应的外观606(2)b。在此示例中,关于UI元素602a,发生相对于在图中标记为“x”的UI内的最终x坐标位置的过冲。在此示例中,关于UI元素602b,发生关于变为小于UI元素602b的最终大小的的过冲(虚线圆圈表示UI元素602b的瞬时大小并且完整的圆表示最终大小)。在后续的时间T3,随着UI元素602a和/或UI元素602b如定时函数114d所管控的已经从它的T2时的状态朝向并且超过它的最终UI状态移动并且已经在另一方向过冲最终UI状态,UI呈现与UI元素602a相对应的外观606(3)a或与UI元素602b相对应的外观606(3)b。在此示例中,关于UI元素602a,发生相对于UI内的最终x坐标位置的、与T2时UI元素602a的位置相反的方向上的过冲。在此示例中,关于UI元素
602b,发生关于缩小为小于UI元素602b的最终大小的过冲。在此特定示例中,定时函数114d是阻尼正弦函数,并且因此在结束时间T4,UI元素402a以外观606(4)到达它的最终UI状态并且因此UI元素402b以外观606(4)b到达它的最终UI状态。
[0084] 在一些实施方式中,路径604是欠阻尼的并且跟随路径604的一个或多个特定UI元素在相关联的定时函数的持续时间结束时可能不会在最终UI状态处达到静止。例如,如果路径604是欠阻尼的,则跟随路径604的UI元素在相关联的定时函数的持续时间结束时可能不会在UI元素的最终位置处达到静止。欠阻尼振荡函数具有稳定时间或在施加力(例如路径开始处)与函数保持在最终位置的给定范围内时之间的时间段。如果欠阻尼振荡函数路径的稳定时间长于过渡的定时函数的持续时间,则跟随路径604的UI元素可能不会在持续时间结束时在最终位置处达到静止。
[0085] 在一些实施方式中,路径604是过阻尼的,使得跟随路径604的一个或多个特定UI元素在预定的最终一个或多个位置之前达到静止。例如,如果路径604是过阻尼的,则跟随路径604的UI元素不振荡,并且作为替代简单地直接过渡到未达到最终UI状态的静止状态。
[0086] 在一些实施方式中,路径604是临界阻尼的,使得跟随路径604的一个或多个特定UI元素不执行完整振荡(前向和后向运动的一个完整循环,从一个极值——极大值或极小值——到另一个并且返回),并且作为替代渐近地接近最终的UI状态。使用临界阻尼路径实现单个过冲效果,使得最终UI状态被过冲一次并且然后路径稳定到最终UI状态。
[0087] 在一些实施方式中,如果一个或多个UI元素在相关联的定时函数的持续时间结束时未自然地在预先定义的最终位置处达到静止,则可以执行用于使一个或多个UI元素静止的操作。例如,可以缩短或延长定时函数的持续时间,使得在UI元素处于预定的最终位置时定时函数结束。如果UI元素就它们的位置而言没有相对于它们的预定的最终位置同步,则可以单独控制每个UI元素的过渡,使得特定的UI元素在它的预定的最终位置停止移动。
[0088] 可以执行操作以改变路径的多个方面,包括函数的强度(例如幅度、阻尼比)、函数的类型(包括压缩或扭转弹簧函数、弹簧附接点等)以及对现有函数的修改器,包括放大器以及衰减器系数。这样的变化会影响路径,包括UI元素接近它的最终UI状态的速度和幅度。这些操作可以由软件模块106、过渡管理模块108或在用户设备104或其他地方执行的其他软件模块中的一个或多个来执行。
[0089] 图7描绘了称为拉伸的过渡效果的示例700。拉伸指代沿单个轴增加UI元素的大小。诸如开关和滑块的简单的UI元素,可以通过在它们移动的方向上拉伸来显示高速效果。拉伸是一种有趣的视觉效果,其将用户的注意力吸引到特定元素并强调它的运动并引发速度感。例如,拉伸可以用于创建在移动的UI元素后面拉伸的“轨迹”,作为强调初始UI状态与最终UI状态之间的路径的效果。拉伸可以为包括步进器选择指示器或钟面上的指针的各种指示器添加特性。然而,对于复杂形状/除水平或垂直之外的任何方向等,拉伸效果可以是分散注意力的。在此特定示例中,UI外观702(1)示出水平拉伸,其中实线指示UI元素704本身并且虚线指示拉伸轨迹。UI外观702(2)示出了垂直拉伸,其中实线指示UI元素706本身并且虚线指示拉伸轨迹。UI外观702(3)示出沿着圆形路径的拉伸,例如沿着钟面移动的指针,其中实线指示UI元素708本身并且虚线指示拉伸轨迹。
[0090] 拉伸效果可以通过以下来实现:沿着运动方向增加元素的大小,通过包括元素持续时长的时间偏移(使得在任何特定位置绘制的元素直到某个时间段之后才会从UI中退出,从而在UI元素后创建UI元素的先前渲染形体的视觉轨迹)。另外,可以经由例如通过打开或关闭在特定方向上的拉伸效果或控制后缘延迟的时长来改变拉伸的各种参数来定制拉伸效果。
[0091] 高度指代元素在z轴上的位置。在过渡期间,可以将高度动画化以增加深度并强调分层。高度效果包括视差和缩放。视差指代在靠近视图的元素比远离的元素移动得更快时发生的效果。视差可用于指示元素占据不同高度并强调深度,尤其是在类似滚动浏览页面的应用中。缩放效果——诸如缩小大小的元素表现为退回到背景中并且增大的元素显现为高度上升。高度效果可以使用同步运动来实现以使得一个元素增大而另一个元素收缩。
[0092] 图8描绘了UI过渡上的时间效果的示例800。时间偏移是强调多个元素过渡中的偏移元素的效果。在此特定的示例中,浮动动作按钮(FAB)可以通过在全部其他动画停止后完成它的进入而突出。在过渡的开始时间T1,UI已经开始它的过渡并且展现出外观802(1),其中多个UI元素已经如定时函数804(1)和804(2)所管控的开始向最终UI状态的过渡。定时函数804(1)和804(2)可以从相同的主定时函数中取得,例如通过调整主定时函数的持续时间以匹配持续时间T1至T4以获取定时函数804(1)并且调整主定时函数的持续时间以匹配持续时间T1至T3以获得定时函数804(2)。除了FAB之外的全部应用栏元素的过渡由定时函数804(2)管控,而FAB的过渡由定时函数804(1)管控。在后续的时间T2处,UI继续它的过渡并展现出外观802(2),其中除了FAB 806之外的全部应用栏元素已经完成了它们的过渡的一半。在后续的时间T3处,除了FAB 806之外的全部应用栏元素已经完成了它们的UI过渡并且达到了它们的最终UI状态并且UI呈现出外观802(3)。在后续的时间T4处,FAB 806也完成了它的UI过渡并且到达它的最终UI状态并且UI呈现出外观802(4)。在此特定示例中,FAB 806具有过渡定时函数,所述过渡定时函数具有比应用于其他功能中的每一个的定时函数长
100ms的持续时间。
[0093] FAB 806的持续的过渡强调了它的进入,并且优于应用栏的其他元素而将用户的关注吸引到FAB 806。可以改变时间偏移效果的各个参数,包括偏移的持续时间、偏移是否在过渡的开始发生、偏移应用于哪些UI元素等。这样的变化影响强调哪些UI元素以及如何强调它们。这些操作可以由软件模块106、过渡管理模块108或在用户设备104或其他地方执行的其他软件模块中的一个或多个来执行。
[0094] 图9描绘了UI过渡上的另一时间效果的示例900。交错(Stagger)指代按顺序将时间偏移应用于一组UI元素,类似列表。交错创建了一个可以将注意力依次短暂地集中在每个项上并可以为重要的过渡增添亮点的级联效果。例如,在用户返回应用UI时,可以用交错来美化过渡。交错还可以揭示重要内容或突出组内的可供性(affordance)。例如,交错可以暗示一组UI元素中的每个成员可以充当单独的可供性并且促进与个体UI元素的交互。在此示例中,图9的示例中示出的UI从初始UI状态过渡到最终UI状态,并且过渡根据用于UI元素904的示例性定时函数902(1)、用于UI元素906的定时函数902(2)以及用于UI元素908的定时函数902(3)来执行。同样,定时函数902(1)、902(2)、902(3)可以从相同的主定时函数中取得。例如,可以通过向相同的主定时函数添加不同的恒定时间延迟变量来取得定时函数
902(1)、902(2)以及903(3)。可以以多种方式从用于整个UI过渡的单个主定时函数中取得用于不同UI元素的定时函数,诸如应用乘数、增加或减去恒量、将变量提升到特定指数(正或负)等。在过渡的时间T1,UI已经开始它的过渡并且展现出外观910,其中多个UI元素已经如它们相应的定时函数所管控的开始它们的向最终UI状态的过渡。
[0095] 与时间偏移效果类似,交错效果的各个参数可以改变,包括偏移的持续时间、偏移应用到的UI元素等。这样的改变影响强调哪些UI元素以及如何强调它们。这些操作可以由软件模块106、过渡管理模块108或在用户设备104或其他地方执行的其他软件模块中的一个或多个来执行。
[0096] 图10描绘了UI过渡的示例1000。在此示例中,在图2的示例中示出的UI从初始UI状态过渡到最终UI状态,并且根据图3中示出的示例定时函数114来执行过渡。在过渡的开始时间T1处,UI以外观1002(1)处于它的初始UI状态。在后续的时间T2处,UI已经开始它的过渡并且展现出外观1002(2),其中一个共享元素(例如圆圈)已经开始朝向它的最终位置移动,第二共享元素(例如边界框)已经开始向它的最终大小增大,并且离退元素(例如单个矩形)已开始变得更加透明以从UI淡出。在后续的时间T3(例如拐点时间),UI展现出外观1002(3),其中离退元素已经消失并且共享元素已经在它们各自的过渡中进展。在后续的时间T4处,UI展现出外观1002(4),其中共享元素在它们各自的过渡中更进一步并且新进元素(例如多矩形元素)已经开始进入视图。在结束时间T5处,UI在它的最终UI状态中展现出外观1002(5),其中共享元素和新进元素处于它们的最终状态。
[0097] 实施方式支持使用使得新进元素逐渐出现在UI中并使得离退元素逐渐从UI中消失的各种外观变化。在一些情况下,元素可以通过不透明度的变化来进入UI或离开UI,使得新进元素以完全透明开始并且逐渐变得更加不透明并且使得离退元素以完全不透明开始并且逐渐变得更加透明。在一些情况下,元素可以通过大小的变化进入UI或离开UI,使得新进元素以零尺寸开始并逐渐增长到它们的最终尺寸并且使得离退元素以全大小开始逐渐缩小到零尺寸。在一些情况下,元素可以通过位置的改变进入UI或离开UI,使得新进元素在显示器外部的位置处(例如在屏幕外)开始并且逐渐移动到它们的最终位置,并且使得离退元素从显示器中的初始位置处开始并且逐渐移出视图。其他技术也可用于引入新进元素或移除离退元素。
[0098] 图11描绘了根据本文描述的实施方式的,用于界面过渡的动态生成以及执行的示例过程的流程图1100。过程的操作可以由软件模块106、过渡管理模块108或在用户设备104或其他地方执行的其他软件模块中的一个或多个来执行。
[0099] 接收(1102)对要在UI中执行的、从初始UI状态到最终UI状态的过渡的指示。确定(1104)用于过渡的定时函数以及过渡持续时间。在一些实施方式中,如上所述,定时函数是通过调整主定时函数以跨越所确定的过渡的持续时间来从主定时函数中取得的。还可以确定(1106)定时函数的拐点时间。在一些实施方式中,拐点时间是基于定时函数来计算的(例如,如定时函数的一阶导数是最大值的时间)。在一些实施方式中,拐点时间作为过程的输入(例如,和定时函数以及持续时间一起)被接收。
[0100] 如上所述,可以应用(1108)定时函数以驱动共享元素的过渡以确定它们的在过渡期间逐渐更改的外观。如上所述,可以应用(1110)定时函数的第一子部分以驱动离退元素的过渡并且可以应用(1112)定时函数的第二子部分以驱动新进元素的过渡。如上所述,过渡还可以包括在拐点时间时更改(1114)任何即刻过渡元素的外观。在一些实施方式中,共享元素的逐渐更改可以与离退元素的逐渐更改、即刻过渡元素的更改以及新进元素的逐渐更改并行地执行。
[0101] 在一些实施方式中,本文描述的过渡的动态生成以及执行可以用于这样的应用:在设计该应用时未预先确定可能的过渡,使得用于单独设计每个过渡的传统方法可能不可用。例如,动态地自适应应用可以被设计为可以在运行时(例如在应用启动时和/或在执行期间)动态地被添加到应用或从应用移除的组件(例如可插入组件)的组成集合。因此,应用的执行组件之间的可能过渡可能直到应用正在执行才可知的并且可以通过本文描述的实施方式在运行时动态地被确定以及管理。使用本文描述的实施方式,应用可以适于处理可以在运行中改变的不同配置,并且应用的开发者可以使用稀疏表示来表达UI而无需单独设计每个可能的过渡。实施方式还促进可以在各种类型的计算设备上执行的、具有针对可用显示空间的不同形状因子的应用中的UI过渡。使用本文描述的实施方式,UI过渡便利地且动态地跨不同的显示大小以及比例而适用。
[0102] 此外,过渡和效果的某些组合可以创建查看者将其与特定品牌或产品相关联的独特视觉体验,从而改进UI的有效性。对于网站开发者更容易识别的网站或web文档有助于使开发者的内容对于访问者更加难忘和有效。
[0103] 实施方式提供了一种用于动画过渡将被生成并及被应用于不同UI的令人难忘并且独特的方法。可以自动生成并且然后应用于UI的特定元素的视觉上有趣的过渡改进了用户体验并允许向用户有效地传达想法。可以强调重要的元素、可以将性格以及个性赋予web文档并且通过使用动态生成的、视觉上吸引人的过渡动画来产生平滑、自然的用户体验。
[0104] 尽管本文的示例描述了使用定时函数来处理涉及共享元素、新进元素、离退元素以及即刻过渡元素的UI过渡,但是实施方式不需要存在这些类型的元素中的每一个。例如在一些情况下,过渡可能涉及新进元素和/或离退元素,但可能不涉及共享元素。在这样的情况下,即使整个定时函数未用于确定任何共享元素的过渡,也可以采用定时函数的子部分来驱动新进过渡以及离退过渡。
[0105] 在一些实施方式中,用于过渡的定时函数通常从主定时函数中取得,该主定时函数可以类似地应用于应用、应用集合内或计算环境内的多个过渡。每个元素的过渡可以被限制在过渡的持续时间内,其中共享元素在整个持续时间内过渡并且其中离退元素以及新进元素相应地在第一子部分以及第二子部分期间过渡。在一些实施方式中,可以通过使用针对过渡(例如由开发者)指定的参数集合来更改各个元素的过渡的定时。这样的参数也可以被描述为参数包(parameter wrapper)。参数可以指示某些元素过渡的开始、结束或进展速率将在定时上变化(例如交错)。此外,在一些实施方式中,参数可以更改用于不同应用的主定时函数以向一些过渡添加进一步的细节和/或细微差别。例如,参数可以包括主定时函数的系数以提供针对过渡的附加的定制程度。
[0106] 图12描绘了允许用户控制如上参考图1-11所描述的过渡动画的各方面的示例性菜单UI 1200。用户可以通过UI元素1202选择用于定时函数的特定三次贝塞尔函数。在此特定示例中,UI元素1202是显示各个可选择的三次贝塞尔函数的列表的弹出菜单。用户可以使用UI元素1204来定义应用于UI过渡的定时函数的持续时间。在此特定示例中,UI元素1204是滑块,其允许用户在滑动标度上调整过渡应当在其间发生的持续时间。在一些实施方式中,滑块控制用于全部定时函数持续时间的全局乘数并且不影响诸如过冲或振荡的其他过渡效果的时间属性。用户可以使用UI元素1206选择是否在UI过渡期间启用过冲效果。
在此特定示例中,UI元素1206是启用或禁用过冲效果的复选框。用户可以使用UI元素1208来定义用于UI过渡的过冲强度。在此特定示例中,UI元素1208是滑块,其允许用户在滑动标度上调整过冲效果的强度(例如幅度、衰减等)。用户可以使用UI元素1210来选择用于UI过渡的过冲样式。在此特定示例中,UI元素1210是弹出菜单,其显示诸如弹簧模拟的各个可选择的过冲函数的列表。用户可以使用UI元素1212来选择是否在UI过渡期间启用交错效果。
在此特定示例中,UI元素1212是启用或禁用交错效果的复选框。用户可以使用UI元素1214来定义用于UI过渡的交错效果的延迟时段。在此特定示例中,UI元素1214是滑块,其允许用户在滑动标度上调整用于一个或多个所选择的UI元素的定时函数之间的时间偏移或延迟。
用户可以使用UI元素1216来选择是否在UI过渡期间启用拉伸效果。在此特定示例中,UI元素1216是启用或禁用拉伸效果的复选框。用户可以使用UI元素1218来定义用于UI过渡的拉伸效果的持续时间。在此特定示例中,UI元素1218是滑块,其允许用户在滑动标度上调整在UI过渡期间拉伸效果的持续时间(例如调整拉伸效果应用于的所选择的一个或多个UI元素后面的视觉轨迹的长度)。
[0107] 在一些实施方式中,可以将效果应用于UI的两个或更多个特定UI元素并且可以向用户呈现从其中选择特定UI元素的菜单UI。在以上示例菜单UI 1200中,用户可以启用或禁用特定过渡效果。在一些实施方式中,用户可以启用或禁用全部过渡效果。然而,可能存在对用户可以启用或禁用的过渡效果的限制。例如,特定的过渡效果必须被启用以供用户选择过渡效果的特定参数的值。替选地,如果用户选择过渡效果的特定参数值,则可以自动启用过渡效果。
[0108] 用户可以使用UI元素1220来选择要应用于特定UI过渡的主题或简档。在此特定示例中,UI元素1120是显示各个主题或简档的列表的弹出菜单,所述主题或简档定义过渡效果中的每一个的参数值集合,包括启用还是禁用效果。主题或简档可以是用户生成的、预定的或动态生成的。例如,软件模块106、过渡管理模块108或在用户设备104或其他地方执行的其他软件模块中的一个或多个可以将规则集合应用于将UI过渡生成约束到特定元素以及视觉上令人愉悦的特定过渡效果。在一些实施方式中,用户可以提供输入,诸如UI的目的和优选外观,并且软件模块106、过渡管理模块108或在用户设备104或其他地方上执行的其他软件模块中的一个或多个可以选择个体过渡效果以及参数或生成整个定制主题。
[0109] 上述过渡效果中的每一个可以与其他效果组合,并且这些效果以及效果的参数可以用诸如菜单UI 1200的示例性UI来控制。
[0110] 可以使用诸如单选按钮、下拉菜单、复选框、滑块、开关、按钮、链接以及图标的其他类型的UI元素来代替所描述的示例性UI元素。被选择用于执行每个功能以及如替选方案中所描述的特定类型的UI元素是为了便于说明而提供的并且不意指是详尽的。
[0111] 本说明书中描述的本发明的实施例以及全部功能操作可以实现在数字电子电路中,或者实现在计算机软件、固件或硬件中——包括本说明书中公开的结构及其结构等同物的,或者在它们的一个或多个的组合中。本发明的实施例可以实现为一个或多个计算机程序产品,即在计算机可读介质上编码的用于由数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机可读介质可以是非暂时性计算机可读存储介质、机器可读存储设备、机器可读存储基板存储器设备、产生机器可读传播信号的组合物或者它们中的一种或多种的组合。术语“数据处理装置”包括用于处理数据的全部装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或者它们中的一个或多个的组合的代码。传播的信号是人工生成的信号,例如被生成以编码信息以用于向合适的接收器设备传输的机器生成的电、光或电磁信号。
[0112] 计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解译语言,并且可以以任何形式部署,包括作为单独的程序或作为适用于在计算环境中使用的模块、组件、子程序或其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如存储在标记语言文档中的一个或多个脚本)的文件的一部分中、专用于所讨论的程序的单个文件中或者多个协调文件中(例如存储一个或多个模块、子程序或部分代码的文件)。可以部署计算机程序以在一个计算机上或在位于一个站点上或跨多个站点分布并通过通信网络互连的多个计算机上执行。
[0113] 本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行并且装置也可以被实现为专用逻辑电路,例如FPGA(现场可编程阵列)或ASIC(专用集成电路)。
[0114] 适合于执行计算机程序的处理器包括例如通用和专用微处理器以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或被可操作地耦合以从用于存储数据的一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备或者两者,所述一个或多个大容量存储设备例如磁盘、磁光盘或光盘。然而计算机不需要这样的的设备。此外,计算机可以嵌入在另一个设备中,例如平板计算机、移动电话个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接收器,仅举数例。适用于存储计算机程序指令以及数据的计算机可读介质包括全部形式的非易失性存储器、介质以及存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM以及闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM以及DVD-ROM磁盘。处理器以及存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
[0115] 为了提供与用户的交互,本发明的实施例可以在具有用于向用户显示信息的显示设备——例如CRT(阴极射线管)或LCD(液晶显示器)监视器——,和键盘以及用户通过其向计算机提供输入的指示设备——例如鼠标或者轨迹球——的计算机上实现。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;可以以任何形式接收来自用户的输入,包括听觉、语音或触觉输入。
[0116] 本说明书的实施例可以在计算机系统中实现,所述计算机系统包括后端组件,例如作为数据服务器,或包括中间件组件,例如应用服务器,或包括前端组件,例如具有用户可以通过其与本方面的实施方式交互的图形用户界面、web浏览器的客户端计算机,或者一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信例如通信网络互连。通信网络的示例包括局域网(LAN)以及广域网(WAN),例如互联网。
[0117] 计算系统可以包括客户端和服务器。客户端和服务器通常彼此远并且通常通过通信网络交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
[0118] 尽管本说明书包含许多特性,但是这些不应被解释为对本发明或可能要求保护的范围的限制,而是作为对本发明的特定实施例的特征的描述。在本说明书中的分开的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分开地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可以在上面被描述为以某些组合起作用并且甚至最初如此地要求保护,但是在某些情况中可以从组合中切除要求保护的组合的一个或多个特征并且要求保护的组合可以针对子组合或子组合的变化。
[0119] 类似地,虽然在附图中以特定顺序描绘了操作,但是这不应当被理解为要求以示出的特定顺序或依次顺序执行这些操作,或者执行全部示出的全部操作以达到期望的效果。在某些情况中,多任务处理和并行处理可能是有益的。此外,上述实施例中的各种系统部件的分离不应被理解为在全部实施例中都需要这种分离,并且应当理解的是描述的程序部件和系统通常可以一起集成在单个软件产品中或打包成多个软件产品。
[0120] 因此已经描述了本发明的特定实施例。其他实施例在所附权利要求书的范围内。例如,权利要求书中记载的动作可以以不同的顺序执行并且仍然可以实现期望的结果。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈