一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于可折叠计算设备的有条件窗口模型的制作方法

2022-08-28 05:51:22 来源:中国专利 TAG:

用于可折叠计算设备的有条件窗口模型


背景技术:

1.可折叠计算设备包括具有用铰链接合的两个屏幕的设备或具有可弯曲屏幕的设备。这些类型的设备可以提供优于传统计算设备(诸如膝上型计算机)的优势。然而,通常,这些设备实现最初为具有传统形状因子的计算设备而设计的用户界面(“ui”)范例。因此,由可折叠计算设备提供的ui可能很麻烦并且容易出错,这可能导致不正确或无意的用户输入以及不必要的计算资源消耗。
2.本文中提出的公开内容正是针对这些和其他技术挑战提出的。


技术实现要素:

3.本文中公开了用于为可折叠计算设备提供有条件窗口模型的技术。所公开的技术通过使得可折叠计算设备能够提供更易于使用并且导致更少用户输入错误的ui来解决上述技术问题。此外,通过避免与ui的低效导航和无意或不正确的用户输入相关联的处理,可以减少可折叠计算设备对计算资源的使用。本文中未具体提及的其他技术益处也可以通过所公开的主题的实现来实现。
4.用于可折叠计算设备的有条件窗口堆叠
5.在一个实施例中,可折叠计算设备被配置为提供有条件窗口堆叠模型,由此当一个或多个指定条件满足时,应用窗口被堆叠。当一个或多个指定条件不满足时,窗口不被堆叠。例如,但没有限制,当应用中的一个应用启动另一应用时,由两个应用生成的窗口可以被彼此堆叠。在另一示例中,由作为应用集合的成员的应用生成的窗口被堆叠。
6.当应用窗口被堆叠时,由一个应用呈现的窗口被显示在由另一应用呈现的窗口上方。当堆叠中的最顶层窗口被关闭、最小化或以其他方式禁止时,正下方的窗口被显示。可以在堆叠中的所有窗口上执行在堆叠中的最顶层窗口上发起的窗口操作。例如,可以在堆叠中的所有窗口上同时执行用于在显示区域之间移动窗口、使窗口跨越显示区域、贴靠应用窗口或最小化窗口的窗口操作。
7.用于铰接计算设备的应用启动助手
8.提供多个显示区域的可折叠计算设备可以另外地或替代地被配置为:当另一应用在第一显示区域中被启动时,提供用于促进第二显示区域中的应用的选择和执行的ui。特别地,可折叠计算设备可以接收对于在第一显示区域中启动第一应用的请求。例如,但没有限制,用户可以使用任务栏或在由计算设备提供的第一显示区域中呈现的其他类型的ui控件,来选择与第一应用相关联的ui控件,诸如图标。
9.响应于接收到对于启动第一应用的请求,应用在可折叠计算设备的第一显示区域中被启动。此外,可以在本文中称为“应用启动助手ui”的ui可以被呈现在第二显示区域中。应用启动助手ui包括与相应应用相关联的ui控件。ui控件可以是当前执行的应用的缩略图、图标或其他类型的ui控件。如果用户在应用启动助手ui中选择ui控件中的一个ui控件,则与所选择的ui控件相关联的应用将在第二显示区域中被启动。
10.与应用启动助手ui中的ui控件相关联的应用可以以各种方式被选择。例如,但没
有限制,第一应用可以启动的其他应用可以由应用启动助手ui中的ui控件表示。替代地,与应用启动助手ui中的ui控件相关联的应用可以是当前在铰接计算设备上执行的应用或最近在铰接计算设备上执行的应用。在应用启动助手ui中表示的应用也可以由用户手动选择。例如,用户可以指定应用集合,当用户执行特定应用时,该应用集合将被示出在应用启动助手ui中。
11.在其他实施例中,在应用启动助手ui中表示的应用可以使用机器学习来选择。例如,机器学习技术可以用于标识经常一起使用的应用。当这些应用中的一个应用在第一显示区域中被启动时,其他应用可以由在第二显示区域上示出的应用启动助手ui中的ui控件表示。可以使用其他技术来选择由应用启动助手ui中的ui控件表示的一个或多个应用。
12.ui元素的有条件重新定位
13.可折叠计算设备可以另外地或替代地被配置为在一个或多个条件满足时重新定位ui元素。例如,在一个实施例中,用户可以请求在由可折叠计算设备提供的第一显示区域中启动应用。响应于这样的请求,可折叠计算设备可以确定与另一或多个应用相关联的ui元素是否显示在第一显示区域中。ui元素可以是ui窗口、工具栏、或由其他应用显示的其他ui元素。ui元素可以另外地或替代地是与由操作系统(“os”)外壳显示的应用相关联的ui元素,诸如屏幕上键盘或画中画(“pip”)窗口。
14.如果ui元素存在于第一显示区域中,则可折叠计算设备可以将ui元素从第一显示区域移动到第二显示区域,第二显示区域通常是包含与ui元素相关联的应用的主应用窗口的显示区域。然后可折叠计算设备可以在第一显示区域中启动应用。以这种方式,新启动的应用不会遮掩与已经运行的应用相关联的ui元素,从而避免在这种情况下的潜在用户混淆。这也可以防止用户混淆,如果被配置为始终保持在顶部的ui元素在视觉上与第一显示区域中的新启动的应用相关联,可能会导致这种用户混淆。
15.ui窗口的有条件平铺
16.可折叠计算设备可以另外地或替代地被配置为在一个或多个条件满足时平铺ui窗口。例如,但没有限制,可折叠计算设备可以执行在第一显示区域中显示应用窗口的应用。该设备还可以执行在第二显示区域中显示第二应用窗口的第二应用。
17.还可以接收在第二显示区域中执行第三应用的请求。响应于接收到这样的请求,该设备可以确定第一应用窗口和第二应用窗口是否应当堆叠在第一显示区域中。如果可折叠计算设备确定第一应用窗口和第二应用窗口不应当被堆叠,则它可以将第一应用窗口和第二应用窗口平铺在第一显示区域中,使得这两个应用窗口都是可见的。然后,该设备可以根据请求启动第三应用,并且在第二显示区域中显示由第三应用生成的应用窗口。
18.应当理解,上述主题可以实现为计算机控制的装置、计算机实现的方法、计算设备,或者实现为诸如计算机可读介质等制品。通过阅读以下详细描述和查看相关附图,这些和各种其他特征将是清楚的。
19.提供本“发明内容”是为了以简化形式介绍所公开的技术的一些方面的简要描述,这些方面将在下面的“具体实施方式”中进一步描述。本“发明内容”并非旨在标识所要求保护的主题的关键特征或基本特征,也不旨在使用本“发明内容”来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中指出的任何或所有缺点的实现。
附图说明
20.图1a和图1b是示出以一种特定配置实现所公开的技术的铰接计算设备的配置和操作的方面的设备姿势图;
21.图2a-图2c是示出以一种特定配置实现所公开的技术的可弯曲计算设备的配置和操作的方面的设备姿势图;
22.图3a-图4d是示出本文中公开的用于有条件窗口堆叠的各种机制的方面的设备ui图;
23.图5是示出根据本文中公开的一个实施例的用于应用窗口的有条件堆叠的本文中公开的例程的方面的流程图;
24.图6a-图6d是示出本文中公开的用于在铰接计算设备上提供应用启动助手的各种机制的方面的设备ui图;
25.图7是示出根据本文中公开的一个实施例的用于在铰接计算设备上提供应用启动助手的本文中公开的例程的方面的流程图;
26.图8a和图8b是示出本文中公开的用于有条件地重新定位ui元素的各种机制的方面的设备ui图;
27.图9是示出根据本文中公开的一个实施例的用于有条件地重新定位ui元素的本文中公开的例程的方面的流程图;
28.图10a和图10b是示出本文中公开的用于有条件地平铺ui窗口的各种机制的方面的设备ui图;
29.图11是示出根据本文中公开的一个实施例的用于有条件地平铺ui窗口的本文中公开的例程的方面的流程图;以及
30.图12是示出用于可以实现本文中呈现的技术的方面的计算设备的说明性计算机硬件和软件架构的计算机架构图。
具体实施方式
31.以下详细描述涉及用于为可折叠计算设备提供有条件窗口模型的技术。如上面简要讨论的,所公开的技术的实现可以使得能够提供更容易使用并且导致更少用户输入错误的ui。因此,与先前的解决方案相比,通过避免与ui的低效导航和无意或不正确的用户输入相关联的处理,可以减少计算资源的使用。本文中未具体提及的其他技术益处也可以通过所公开的主题实现来实现。
32.本领域技术人员将认识到,本文中公开的主题可以用各种类型的计算系统和模块来实现,其中至少一些在下面详细描述。本领域技术人员还将理解,本文中描述的主题可以用其他计算机系统配置来实践,包括手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、嵌入在设备中的计算或处理系统(诸如可穿戴设备、汽车、家庭自动化等)、嵌入在设备中的计算或处理系统(诸如可穿戴计算设备、汽车、家庭自动化等)等。
33.在以下详细描述中,参考形成其一部分的附图,并且这些附图通过说明特定配置或示例的方式被示出。现在参考附图,其中相似标记在多个图中表示相似元素,将描述用于为可折叠计算设备提供有条件窗口模型的各种技术的方面。
34.在讨论所公开的技术的特定方面之前,将提供对可折叠计算设备(其在本文中可
以称为“可折叠设备”)的简要介绍。如上面简要讨论的,可折叠设备包括具有用铰链或其他等效机构接合在一起的两个物理显示屏的多个屏幕形状因子设备(其在本文中可以称为“铰接设备”)。通过使用铰链操纵显示屏相对于彼此的取向,这样的设备可以被配置成多种姿势,其中一些在下面关于图1a和图1b更详细地描述。
35.可折叠设备还包括具有可弯曲显示屏的计算设备(其在本文中可以称为“可弯曲设备”),诸如利用柔性屏幕技术的计算设备。当这样的设备不弯曲时,它呈现单个显示表面。当弯曲时,这些设备呈现中间有折痕的单个显示表面。可弯曲设备也可以通过改变弯曲量来配置成多种姿势,其中一些也将在下面参考图2a-图2c更详细地描述。
36.可折叠计算设备的显示屏可以是触敏的,从而使得这样的设备能够识别触摸或触控笔输入、按压、滑动和其他类型的手势,其中一些在下面描述。当然,这些设备也可以在被保持在各种取向的同时使用,其中一些在下面关于图1a和图1b进行描述。
37.现在参考图1a和图1b,将描述关于可折叠显示设备的若干姿势的细节。图1a和图1b所示的示例示出了铰接设备102的一些可能姿势。然而,应当理解,所示姿势通常也适用于可弯曲设备。
38.如图1a所示,铰接设备102可以通过改变连接两个显示设备104a和104b(其在本文中可以称为“显示器”或“显示屏”)的铰链108的角度来配置成多种姿势。例如,在图1a中,铰接设备102被示出为处于其中显示屏104a和104b在纵向取向上彼此平行的平坦姿势、其中仅单个显示器104b在纵向取向上可见的完全打开姿势、以及其中铰链108弯曲的在纵向取向上的部分打开姿势。铰接设备102也可以被配置为其中两个显示屏都不可见的关闭姿势(未示出)。
39.在图1b中,铰接设备102被示出为处于其中显示屏104a和104b处于横向取向的平坦姿势、其中铰链108的角度使得铰接设备102能够独立站立并且呈现单个显示器104a的帐篷和支撑姿势、以及其中一个显示器104a平坦而另一显示器104b至少部分直立的部分打开姿势,从而形成类似于传统膝上型计算机的配置。在这点上,应当理解,图1a和图1b所示的姿势是说明性的并且其他姿势也是可能的。
40.也如图1a和图1b所示,显示设备104a提供包含显示器104a的全部或一部分的第一显示区域106a。类似地,显示设备104b提供包含显示器104b的全部或一部分的第二显示区域106b。第一显示区域106a和第二显示区域106b可以呈现图形用户界面(“gui”)元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息传递数据、互联网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息、以及能够以视觉形式呈现的任何其他信息。
41.现在参考图2a-图2c,将提供关于可弯曲设备202的配置和操作的细节。如上所述,可弯曲设备202还可以被配置为处于与以上关于图1a和图1b描述的姿势相同或相似的姿势。例如,在图2b所示的示例姿势中,可弯曲设备202已经被放置在未弯曲位置,从而呈现整个显示器104c。可弯曲设备202也可以被配置为处于其中两个显示屏都不可见的关闭姿势。
42.在图2b和图2c所示的示例姿势中,可弯曲设备202已经部分弯曲,类似于图1a和图1b所示的部分打开姿势。特别地,在图2b所示的示例中,当屏幕104c处于横向取向时,可弯曲设备202已经弯曲。在图2c所示的示例中,设备202已经弯曲,而屏幕104c处于纵向取向。
43.当可弯曲设备202弯曲时,在显示器104c中形成有折痕或“折叠”204。如本文中使用的,术语“折叠”可以是指可折叠设备被折叠的区域(即,铰接设备102上的铰链108的区域
或可弯曲设备202的显示器弯曲的区域)。
44.与铰接设备102的情况一样,可弯曲设备202也可以提供一个或多个显示区域。然而,在可弯曲设备202的情况下,可用显示区域的数目可以基于设备的姿势而变化。例如,当可弯曲设备202处于如图2a所示的未弯曲状态时,提供单个显示区域106c。当可弯曲设备202处于弯曲姿势时,诸如图2b所示,在显示器104c上可以提供两个显示区域106d和106e。
45.应当理解,某些相对术语(例如,高度、宽度、顶部、底部、左侧、右侧)可以在本文中用于描述本文中呈现的示例中的显示器和显示区域的配置。在这点上,还应当理解,这些术语在本文中已经使用以便于讨论,而不是限制显示区域或ui元素的配置。可以使用其他术语来描述显示器、显示区域、ui元素以及它们彼此之间的空间关系。还应当理解,虽然通常分开描述,但是在上面简要描述和在下面进一步详细描述的各种实施例可以彼此结合使用。
46.用于可折叠计算设备的有条件窗口堆叠
47.现在参考图3a-图3c,将提供关于用于有条件地堆叠应用窗口的技术的细节。应当理解,虽然图3a-图3c所示的示例是参考铰接设备102进行的,但所公开的方面不限于与铰接设备102一起使用。相反,所公开的技术可以与包括可弯曲设备202在内的其他类型的可折叠设备一起使用。应当理解,虽然下面的示例是在包括两个窗口的应用窗口的堆叠的上下文中呈现的,但是可以以类似的方式堆叠和操作更多的窗口。
48.图3a-图3c是示出用于提供有条件窗口堆叠模型的本文中公开的各种机制的方面的设备ui图,由此当一个或多个指定条件满足时,应用窗口被堆叠。当一个或多个指定条件不满足时,ui窗口不会堆叠。例如,在图3a-图3c所示的示例中,由两个应用生成的应用窗口302(其在本文中可以称为“窗口302”或“ui窗口302”)可以在应用中的一个应用启动另一应用时彼此堆叠。
49.在图3a-图3c所示的示例中,用户已经在铰接设备102上执行第一应用,在这种情况下是电子邮件客户端。进而,第一应用已经在显示屏104a上显示用于查看电子邮件消息的内容的窗口302a。在该示例中,正在被查看的电子邮件消息还包括文件附件,并且因此,第一应用还在窗口302a中显示用于查看附件的ui控件304。
50.当用户诸如通过使用他们的手指306的触摸手势选择ui控件304时,第一应用启动第二应用以使得用户能够查看电子邮件消息的附件。在所示示例中,第二应用是用于显示照片的照片查看器应用。
51.当第一应用(即,电子邮件客户端)响应于用户的请求而启动第二应用(即,照片应用)时,第二应用通常将在第二显示屏104b上被启动。然而,在该示例中,另一应用正在显示屏104b上显示应用窗口302c。因此,第二应用在显示屏104a上被启动,并且由第二应用显示的窗口302b被显示在包括由第一应用显示的窗口302a的堆叠310中。特别地,窗口302b以z顺序显示在窗口302a上方,从而遮挡用户对窗口302a的视图。这在图3b中示出。
52.如图3b所示,由第二应用生成的窗口302b包括附加到电子邮件消息的照片的视图308。窗口302b也完全覆盖窗口302a。窗口302a在图3b中用虚线示出,虚线意在指示窗口302a对用户不可见。
53.当接收到关闭堆叠310中的最顶层窗口的请求时,该窗口被关闭,并且按z顺序在最顶层窗口正下方的窗口被显示。例如,如果用户选择ui控件304b以关闭窗口302b,则窗口
302b从视图中被移除,从而使第一应用窗口302a被显示。这在图3c中示出。通过以这种方式堆叠窗口302并且在用户关闭在堆叠310顶部的窗口时呈现底层窗口302,使用户从必须重新定位底层窗口的任务中解脱出来,这可以节省计算资源。
54.在一些实施例中,在堆叠中的所有窗口上执行在堆叠310中的最顶层窗口上发起的窗口操作。这在图4a-图4d中示出。如图4a所示,第一应用(在该示例中为电子邮件客户端)可以示出用于呈现电子邮件消息的内容的窗口302a。如在上述示例中,所示电子邮件消息包括文件附件,并且因此,第一应用已经显示用于预览附件的ui控件304。当用户诸如通过触摸手势选择ui控件304时,第二应用被启动并且窗口302a与由第二应用生成的窗口302b堆叠。这在图4b中示出。
55.然后,用户可以在堆叠310中的最顶层窗口(在这种情况下是窗口302b)上发起窗口操作。可以在堆叠310中的所有窗口302上执行在堆叠310中的最顶层窗口302上发起的窗口操作。
56.在图4b所示的示例中,例如,用户已经用他们的手指306发起手势402以将窗口302b从显示器104a上的显示区域移动到设备102的显示器104b上的显示区域。响应于此,所请求的窗口操作在堆叠310中的所有窗口(在该示例中是窗口302a和302b)上被执行。结果,包括窗口302a和302b的堆叠310被移动到设备102的显示器104b上的显示区域。这在图4c中示出。
57.尽管用于在显示区域之间移动窗口的窗口操作已经在图4b和图4c中示出,但是应当理解,其他类型的窗口操作可以应用于应用窗口302的堆叠310。例如,但没有限制,用于使应用窗口302跨越显示区域、贴靠应用窗口302、最小化应用窗口302或最大化应用窗口302的窗口操作可以在堆叠310中的所有窗口302上同时执行。可以以类似方式在堆叠310上执行其他类型的窗口操作。
58.继续该示例,用户可以选择ui控件304b以便关闭应用窗口302b。响应于此,窗口302b被移除(即,从视图中隐藏)并且堆叠310中的底层窗口302a被显示。这在图4d中示出。
59.在另一示例中,由作为应用集合的成员的应用生成的窗口302被堆叠并且可以以上述方式被操作。由不是该集合的一部分的应用生成的窗口302不会被堆叠。要为其堆叠窗口302的应用集合可以是预先指定的、由用户定义的、被学习的或以另一种方式指示的。例如,但没有限制,计算设备可以利用机器学习技术随时间标识作为同一任务流的一部分的应用。
60.在一个具体示例中,计算设备可以随时间了解到用户在任务流中频繁地连续或同时使用三个应用:图像编辑应用,诸如adobe photoshop;页面布局应用,诸如adobe indesign;以及便携式文档格式(“pdf”)应用,诸如adobe acrobat。在该示例中,计算设备可以将这三个应用视为应用集合的一部分,并且以上述方式在由这些应用呈现的窗口上启用堆叠和操作。在这点上,应当理解,当确定由应用呈现的窗口是否要与堆叠中的其他窗口堆叠时,计算设备可以另外地或替代地利用除了应用是否是集合的成员之外的其他因素。
61.图5是示出根据一个实施例的例程500的流程图,例程500示出了用于应用窗口302的有条件堆叠的可折叠计算设备的操作的方面。应当理解,本文中关于图5和其他图而描述的逻辑操作可以实现为(1)在计算设备上运行的计算机实现的动作或程序模块的序列,和/或(2)计算设备内的互连机器逻辑电路或电路模块。
62.本文中公开的技术的特定实现是取决于计算设备的性能和其他要求的选择问题。因此,本文中描述的逻辑操作被不同地称为状态、操作、结构设备、动作或模块。这些状态、操作、结构设备、动作和模块可以以硬件、软件、固件、专用数字逻辑以及其任何组合来实现。应当理解,可以执行比图中所示和本文中描述的更多或更少的操作。这些操作也可以以不同于本文中描述的顺序来执行。
63.例程500开始于操作502,其中第一应用在可折叠计算设备上执行并且呈现第一应用窗口302a。例程500然后从操作502进行到操作503,其中第二应用在可折叠计算设备上被执行。例程500然后从操作503进行到操作504,其中设备确定第一应用的应用窗口是否要与第二应用的应用窗口堆叠。例如,并且如上所述,设备可以确定第一应用和第二应用是否是要为其堆叠应用窗口的应用集合的成员。在其他实施例中可以使用其他机制来确定是否要堆叠由不同应用生成的窗口。
64.如果第一应用窗口和第二应用窗口的窗口不需要堆叠,则由第二应用生成的应用窗口可以呈现在显示屏上或者在除了包含第一应用窗口的屏幕或区域之外的其他显示区域中。然而,如果第一应用和第二应用的窗口需要堆叠,则例程500从操作504进行到操作506,其中可折叠计算设备以z顺序将由第二应用显示的应用窗口302b显示在第一应用窗口302a上方。如上所述,应用窗口302a和应用窗口302b一起形成应用窗口的堆叠310。
65.从操作506,例程500进行到操作508,其中可折叠计算设备确定是否已经对第二应用窗口302b(即,在堆叠310顶部的窗口302b)执行了窗口操作。如上所述,窗口操作包括但不限于用于以下各项的操作:在显示区域之间移动应用窗口302、使应用窗口302跨越显示区域、固定应用窗口、保存窗口状态以用于在将来恢复窗口状态、贴靠应用窗口302、最小化应用窗口302和最大化应用窗口302。可以以类似方式在堆叠310上执行其他类型的窗口操作。
66.如果窗口操作已经在第二应用窗口302b上被发起,则例程500从操作508进行到操作510,其中对堆叠310中的所有窗口302执行窗口操作。例程500然后从操作510进行到操作512。
67.在操作512,可折叠计算设备确定是否已经接收到关闭第二应用窗口302b的请求。如果已经接收到这样的请求,则例程500从操作512进行到操作514,其中可折叠计算设备隐藏或关闭第二应用窗口302b并且显示第一应用窗口302a。例程500然后从操作514进行到操作516,其中例程500结束。
68.用于铰接计算设备的应用启动助手
69.现在参考图6a-图6d,将提供用于在可折叠计算设备上提供应用启动助手ui的技术。如上面简要讨论的,可折叠计算设备还可以被配置为:当另一应用在第一显示屏104b或显示区域106a上被启动时,提供用于促进第二显示屏104b或显示区域106b上的应用的选择和执行的ui。例如,在图6a所示的示例中,铰接计算设备102可以接收对于在第一显示屏104a上启动第一应用的请求。例如,但没有限制,用户可以利用他们的手指306使用任务栏或铰接计算设备102的第一显示屏104a上呈现的其他类型的ui控件选择与第一应用相关联的ui控件,诸如图标。
70.响应于接收到对于启动第一应用的请求,应用在铰接计算设备102的第一显示屏104a上被启动,并且与启动的应用相关联的应用窗口602a在显示屏104a上被示出。此外,如
图6b所示,ui 606(其在本文中可以称为“应用启动助手ui 606”)可以被呈现在第二显示屏104b上。应用启动助手ui 606可以在可弯曲计算设备202上呈现的显示区域106中以类似的方式显示和使用。
71.在一个实施例中,应用启动助手ui 606包括与相应应用相关联的ui控件604a-604d。ui控件604可以是当前执行的应用的缩略图、图标或其他类型的ui控件。如果用户在应用启动助手ui 606中选择ui控件604中的一个,则与所选择的ui控件604相关联的应用将在第二显示屏104b上被启动。例如,在图6c所示的示例中,用户已经选择ui控件604d。响应于此,与ui控件604d相关联的应用已经启动并且该应用在显示屏104b上呈现应用窗口。这在图6d中示出。
72.与应用启动助手ui 606中的ui控件604相关联的应用可以以各种方式选择。例如,但没有限制,第一启动的应用可以启动的其他应用可以在应用启动助手ui 606中表示。替代地,与应用启动助手ui中的ui控件604相关联的应用可以是当前在铰接计算设备上执行的应用或最近在铰接计算设备102上执行(例如,在前一段时间内执行)的应用。
73.由应用启动助手ui 606中的ui控件604表示的应用可以另外地或替代地由用户手动选择。例如,当用户执行特定应用时,用户可以指定要在应用启动助手ui 606中示出的应用集合。由应用启动助手ui 606中的ui控件604表示的应用也可以是用户指定的“最喜欢的”应用、由用户固定到任务栏或开始菜单的应用、或者已经以另一种方式手动选择的应用。
74.在其他实施例中,应用启动助手ui 606中表示的应用可以由设备102使用包括但不限于机器学习在内的各种技术来选择。例如,机器学习技术可以用于标识经常一起使用或作为同一任务流程的一部分的应用(例如,文字处理应用和插图应用)。当这些应用中的一个在第一显示屏104a上被启动时,其他应用可以由在第二显示屏104b上示出的应用启动助手ui 606中的ui控件604来表示。可以使用其他技术来选择由应用启动助手ui 606中的ui控件604表示的一个或多个应用。
75.图7是示出根据一个实施例的例程700的流程图,例程700示出了用于提供应用启动助手ui 606的铰接计算设备102的操作的方面。如上所述,尽管所示示例在铰接计算设备102的显示屏上呈现应用启动助手ui 606,但是可以使用类似的过程来在由可弯曲计算设备202呈现的显示区域106中提供应用启动助手ui 606。
76.例程700开始于操作702,其中铰接计算设备102接收对于启动应用的请求。如上所述,这样的请求可以以与位于任务栏中的应用相关联的图标的选择的形式或以其他方式被接收。在其他实施例中,可以使用其他技术来发起应用的启动。
77.如果接收到启动应用的请求,则例程700从操作702进行到操作704,其中应用在铰接计算设备的第一显示屏104a上被启动。例程700然后从操作704进行到操作705,其中铰接计算设备102确定是否要显示应用启动助手ui 606。在一些实施例中,例如,如果要在其中显示ui 606的显示屏104或区域106被来自另一程序的ui占用,则应用启动助手ui 606将不被呈现。在其他实施例中,应用启动助手ui 606在其他条件下可以不被显示。
78.如果应用启动助手ui 606不需要显示,则例程700从操作705进行到操作714,其中例程700结束。如果要显示应用启动助手ui 606,则例程700进行到操作706,其中应用启动助手ui 606被呈现在铰接计算设备的第二显示屏104b上。如上所述,应用启动助手ui 606
包括与其他应用相关联的ui控件604。由ui控件604表示的应用可以以各种方式被选择,其中一些已经在上面描述。
79.从操作706,例程700进行到操作708,其中铰接计算设备708确定是否已经选择应用启动助手ui 606中的ui控件604中的一个ui控件。如果已经做出这样的选择,则例程700从操作708进行到操作712,其中铰接计算设备102在第二显示屏104b上启动与所选择的ui控件604相关联的应用。如果没有选择应用启动助手ui 606中的ui控件604(例如,用户在ui 606之外进行选择),则例程700从操作708进行到操作710,其中ui 606从第二显示屏104b被移除。从操作710和712,例程700进行到操作714,其中例程700结束。
80.ui元素的有条件重新定位
81.现在参考图8a和图8b,将描述本文中公开的用于有条件地重新定位ui元素的一种机制。如上面简要讨论的,可折叠计算设备可以另外地或替代地被配置为在一个或多个条件满足时重新定位某些ui元素。例如,在图8a所示的示例中,应用正在由铰接计算设备102提供的显示屏104b上的显示区域106b中呈现应用窗口602a。同一应用还在另一显示屏104a上的显示区域106a中显示应用窗口602b和602c。应用窗口602b和602c可以被认为是“浮置的”,因为它们与主应用窗口602a被分开显示。
82.在图8a所示的示例中,用户还通过使用他们的手指306选择任务栏中的图标来请求在显示区域106a中启动另一应用。响应于接收到对于在显示区域106a中启动应用的请求,铰接计算设备102可以确定与另一应用或多个应用相关联的ui元素是否被显示在要在其中启动该应用的显示区域106a中。
83.如果ui元素存在于要在其中启动应用的显示区域106a中,则设备102可以将ui元素从显示区域106a移动到另一显示区域106b,通常是包含与ui元素关联的应用的主应用窗口的显示区域106。例如,在图8a和图8b所示的示例中,设备102将应用窗口602b和602c重新定位到包含应用窗口602a的显示区域106b。这在图8b中示出。
84.一旦ui元素以上述方式被重新定位,设备102就可以在显示区域106a中启动所请求的应用。以这种方式,新启动的应用不会遮掩与已经运行的应用相关联的ui元素,从而避免了在这种情况下的潜在用户混淆。
85.应当理解,尽管应用窗口602b和602c在图8a和图8b所示的示例中已经被重新定位,但是其他类型的ui元素可以在其他实施例中以类似的方式被重新定位。例如,但没有限制,ui元素可以是其他类型的ui窗口、工具栏或由应用显示的其他ui元素。ui元素可以另外地或替代地是与由操作系统(os)外壳显示的应用相关联的ui元素,诸如屏幕上键盘或画中画(“pip”)窗口。本文中未具体描述的其他类型的ui元素可以以类似的方式重新定位。
86.图9是示出根据本文中公开的一个实施例的用于有条件地重新定位ui元素的本文中公开的例程900的方面的流程图。例程900开始于操作902,其中可折叠计算设备接收对于在显示区域106中启动应用的请求。例如,用户可以在任务栏或另一位置中选择图标或其他类型的ui元素以发起应用的启动。
87.如果接收到对于启动应用的请求,则例程900从操作902进行到904,其中可折叠计算设备确定ui元素是否存在于要在其中启动应用的显示区域106中。如果ui元素存在于显示区域106中,则例程900从操作904进行到操作906,其中可折叠计算设备将已经存在的ui元素从要在其中启动应用的显示区域106移动到另一显示区域。如上所述,例如,ui元素可
以被移动到包含用于与ui元素相关联的应用的主应用窗口的显示区域106。
88.一旦ui元素已经被移动,例程900从操作906进行到操作908,在操作908中,可折叠计算设备根据操作902处的请求启动应用。例程900然后从操作908进行到操作910,其中例程900结束。
89.ui窗口的有条件平铺
90.图10a和图10b是示出用于有条件地平铺ui窗口的本文中公开的各种机制的方面的设备ui图。如上面简要讨论的,可折叠计算设备可以另外地或替代地被配置为在一个或多个条件满足时平铺ui窗口。例如,如图10a所示,铰接计算设备102可以执行在第一显示区域106a中显示应用窗口1002a的第一应用。设备102还可以执行在第二显示区域106b中显示第二应用窗口1002b的第二应用。在所示示例中,第一显示区域106a位于第一显示屏上,并且第二显示区域106b位于第二显示屏上。
91.设备102还可以接收对于在第二显示区域106b中执行第三应用的请求。例如,在所示示例中,用户已经利用他们的手指306选择在任务栏中示出的图标,以便启动与该图标相关联的应用。响应于接收到这样的请求,设备102可以确定第一应用窗口1002a和第二应用窗口1002b是否应当堆叠在第一显示区域106b中。
92.如在上述示例中,窗口1002a和1002b可以在一个或多个指定条件不满足时堆叠。例如,但没有限制,当两个应用中的一个应用能够启动另一应用时,由这两个应用生成的窗口1002a和1002b可以彼此堆叠。在另一示例中,由作为应用集合的成员的应用生成的窗口1002a和1002b被堆叠。上面描述了堆叠应用1002a和1002b的其他条件。
93.如果设备102确定第一应用窗口1002a和第二应用窗口1002b需要堆叠,则设备102以上述方式在显示区域106a中堆叠窗口1002a和1002b。然而,如果设备102确定第一应用窗口1002a和第二应用窗口1002b不需要堆叠(例如,上述条件中的一个或多个不满足),则设备102可以在第一显示区域106a中平铺第一应用窗口1002a和第二应用窗口1002b,使得应用窗口1002a和1002b两者都是可见的。这在图10b中示出。
94.一旦窗口1002a和1002b已经被堆叠或平铺,设备102可以在第二显示区域106b中启动应用。由应用生成的应用窗口1002c然后可以显示在显示区域106b中,如图10b所示。
95.图11是示出根据本文中公开的一个实施例的用于有条件地平铺ui窗口的本文中公开的例程1100的方面的流程图。例程1100开始于操作1102,其中可折叠计算设备执行在第一显示区域106a中显示第一应用窗口的第一应用。例程1100然后从操作1102进行到操作1104,其中设备执行在第二显示区域106b中显示第二应用窗口的第二应用。然后例程1100从操作1102进行到操作1104。
96.在操作1104,可折叠计算设备确定是否已经接收到对于在第二显示区域106b中执行第三应用的请求。如果是,则例程1100从操作1106进行到操作1108,其中可折叠计算设备将确定由第一应用生成的应用窗口和由第二应用生成的应用窗口是否要堆叠在第一显示区域106a中。如果是,则例程1100从操作1108进行到操作1112,其中第一应用窗口和第二应用窗口以上述方式堆叠在第一显示区域106a中。
97.如果可折叠计算设备确定不需要堆叠应用窗口,则例程1100从操作1108进行到操作1110,其中可折叠计算设备以上面关于图10a和图10b描述的类似方式在第一显示区域106a中平铺第一应用窗口和第二应用窗口。例程1100然后从操作1110和1112进行到操作
1114,其中根据请求启动第三应用。新启动的应用进而在第二显示区域106b中显示其应用窗口。例程1100然后从操作1114进行到操作1116,其中例程1100结束。
98.在一些实施例中,可以在用户处于窗口操纵手势的中间时向用户预览上述各种窗口状态。以这种方式,当用户正在执行窗口手势时,可以使本文中描述的有条件窗口行为的结果对用户来说是很清楚的。当没有其他应用窗口打开或可见时,本文中公开的实施例还可以防止窗口的贴靠。
99.图12是示出用于可以实现本文中呈现的各种技术的计算设备的说明性计算机硬件和软件架构的计算机架构图。特别地,图12所示的架构可以用于实现可折叠设备,诸如本文中描述的铰接设备102和可弯曲设备202。所示架构还可以用于实现其他类型的计算系统。
100.图12所示的计算机1200包括中央处理单元1202(“cpu”)、系统存储器1204(包括随机存取存储器1206(“ram”)和只读存储器(“rom”)1208)、以及将存储器1204耦合到cpu 1202的系统总线1210。包含基本例程的基本输入/输出系统(“bios”或“固件”)可以被存储在rom中1208,该基本例程帮助在计算机1200内的元件之间传递信息。计算机1200还包括大容量存储设备1212,大容量存储设备1212用于存储操作系统1222、应用程序1230(诸如以上关于图1a-图11描述的那些)、和其他类型的程序。上述功能由这些程序中的一个或多个程序以各种配置实现。大容量存储设备1212还可以被配置为存储其他类型的程序和数据。
101.大容量存储设备1212通过连接到总线1210的大容量存储控制器(未示出)而被连接到cpu 1202。大容量存储设备1212及其相关联的计算机可读介质为计算机1200提供非易失性存储。尽管本文中包含的计算机可读介质的描述是指大容量存储设备,诸如硬盘、cd-rom驱动器、dvd-rom驱动器或usb存储密钥,但是本领域技术人员应当理解,计算机可读介质可以是计算机1200可以访问的任何可用的计算机存储介质或通信介质。
102.通信介质包括计算机可读指令、数据结构、程序模块、或调制数据信号(诸如载波或其他传输机制)中的其他数据,并且包括任何传递介质。术语“调制数据信号”是指以某种方式改变或设置其一个或多个特性以便在信号中编码信息的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接等有线介质、以及诸如声学、射频、红外线和其他无线介质等无线介质。以上任何内容的组合也应当被包括在计算机可读介质的范围内。
103.作为示例而非限制,计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性的可移动和不可移动介质。例如,计算机存储介质包括但不限于ram、rom、eprom、eeprom、闪存或其他固态存储技术、cd-rom、数字多功能磁盘(“dvd”)、hd-dvd、blu-ray、或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或者可以用于存储期望信息并且可以由计算机1200访问的任何其他介质。出于权利要求的目的,短语“计算机存储介质”及其变体不包括波或信号本身或通信介质。
104.根据各种配置,计算机1200可以使用通过诸如网络1220等网络到远程计算机的逻辑连接在网络环境中操作。计算机1200可以通过连接到总线1210的网络接口单元1216连接到网络1220。应当理解,网络接口单元1216也可以用于连接到其他类型的网络和远程计算机系统。计算机1200还可以包括输入/输出控制器1218,输入/输出控制器1218用于接收和处理来自很多其他设备的输入,包括键盘、鼠标、触摸输入、数字笔或物理传感器,诸如相机
和生物传感器。
105.计算机1200还可以配置有合适的视频输出设备,该视频输出设备可以向一个或多个显示屏提供输出,诸如上述那些。一个或多个显示器可以是被配置为检测触摸的存在和位置的触敏显示器。这种显示器可以是电阻式触摸屏、电容式触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、色散信号触摸屏、声脉冲识别触摸屏,或者可以利用任何其他触摸屏技术。在一些配置中,触摸屏作为透明层被并入显示器之上,以使得用户能够使用一个或多个触摸来与显示器上呈现的对象或其他信息交互。
106.触敏显示器可以被配置为检测离散触摸、单点触摸手势和/或多点触摸手势。为方便起见,这些在本文中统称为“手势”。现在将描述若干手势。应当理解,这些手势是说明性的,并不旨在限制所附权利要求的范围。
107.在一些配置中,计算机1200支持其中用户轻敲显示器一次的轻敲手势。还可以支持其中用户点击显示器两次的双击手势。双击手势可以出于各种原因而使用,包括但不限于分阶段放大或缩小。在一些配置中,计算机1200支持其中用户点击并且保持接触至少预定时间内的点击保持手势。点击保持手势可以出于各种原因而使用,包括但不限于打开上下文特定菜单。
108.在一些配置中,计算机1200支持其中用户将手指放在显示器上并且在移动他们的手指的同时保持与显示器的接触的平移手势。平移手势可以出于各种原因而使用,包括但不限于以受控速率在屏幕、图像或菜单中移动。还设想了多个手指平移手势。
109.在一些配置中,计算机1200支持其中用户在用户希望屏幕移动的方向上滑动手指的轻扫手势。轻扫手势可以出于各种原因而使用,包括但不限于水平或垂直滚动菜单或页面。在一些配置中,计算机1200支持其中用户用两个手指(例如,拇指和食指)做出捏合动作或将两个手指移开的捏合拉伸手势。捏合拉伸手势可以出于各种原因而使用,包括但不限于逐渐放大或缩小网站、地图或图片。
110.尽管已经参考使用一根或多根手指执行手势来呈现上述手势,但是可以使用诸如数字笔等其他附件来与计算设备1200交互。因此,上述手势应当理解为是说明性的,而不应当被解释为以任何方式进行限制。
111.应当理解,本文中描述的软件组件在被加载到cpu 1202中并且被执行时,可以将cpu 1202和整个计算机1200从通用计算设备变换为被定制为促进本文中呈现的功能的专用计算设备。cpu 1202可以由任何数目的晶体管或其他分立电路元件构成,该元件可以单独地或共同地呈现任何数目的状态。更具体地,cpu 1202可以响应于本文中公开的软件模块内包含的可执行指令而作为有限状态机进行操作。这些计算机可执行指令可以通过指定cpu 1202如何在状态之间转变来变换cpu 1202,从而变换构成cpu 1202的晶体管或其他离散硬件元件。
112.对本文中呈现的软件模块进行编码还可以变换本文呈现的计算机可读介质的物理结构。在本说明的不同实现中,物理结构的具体变换取决于各种因素。这样的因素的示例包括但不限于用于实现计算机可读介质的技术、计算机可读介质被表征为初级存储还是次级存储等。例如,如果计算机可读介质被实现为基于半导体的存储器,则本文中公开的软件可以通过变换半导体存储器的物理状态而被编码在计算机可读介质上。例如,该软件可以变换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。该软件还可以变换
这样的组件的物理状态,以便在其上存储数据。
113.作为另一示例,本文中公开的计算机可读介质可以使用磁性或光学技术来实现。在这样的实现中,当在其中编码软件时,本文中呈现的软件可以变换磁性或光学介质的物理状态。这些变换可以包括改变给定磁介质内特定位置的磁特性。这些变换还可以包括改变给定光学介质内特定位置的物理特征或特性,以改变这些位置的光学特性。在不背离本说明书的范围和精神的情况下,物理介质的其他变换是可能的,提供前述示例只是为了便于讨论。
114.鉴于上述情况,应当理解,很多类型的物理变换发生在计算机1200中以便存储和执行本文中呈现的软件组件。还应当理解,图12中针对计算机1200所示的架构或类似架构可以用于实现其他类型的计算设备,包括手持计算机、视频游戏设备、嵌入式计算机系统、移动设备(诸如智能手机、平板电脑和ar/vr设备)、以及本领域技术人员已知的其他类型的计算设备。还设想,计算机1200可能并非包括图12所示的所有组件,可以包括在图12中未明确示出的其他组件,或者可以使用与图12所示的架构完全不同的架构。
115.应当理解,为了便于讨论,图12所示的计算架构已经被简化。还应当理解,所示的计算架构可以包括和利用更多的计算组件、设备、软件程序、网络设备和本文中未具体描述的其他组件。
116.本文中提出的公开内容还涵盖以下条款中阐述的主题:
117.条款1.一种计算机实现的方法,包括:在可折叠计算设备上执行第一应用,所述第一应用被配置为显示第一应用窗口;确定所述第一应用已经启动第二应用,所述第二应用被配置为显示第二应用窗口;以及响应于确定所述第一应用已经启动所述第二应用,堆叠显示所述第一应用窗口和所述第二应用窗口,从而所述第二应用窗口被显示在所述第一应用窗口上方。
118.条款2.根据条款1所述的计算机实现的方法,还包括:确定窗口操作已经在所述第二应用窗口上被发起;以及响应于确定所述窗口操作已经在所述第二应用窗口上被发起,对所述堆叠中的所述窗口执行所述窗口操作。
119.条款3.根据条款1或2中任一项所述的计算机实现方法,其中所述窗口操作包括用于将所述第二应用窗口从第一显示区域移动到第二显示区域的操作。
120.条款4.根据条款1至3中任一项所述的计算机实现的方法,其中所述窗口操作包括当被执行时将使所述第二应用窗口跨越第一显示区域和第二显示区域的操作。
121.条款5.根据条款1至4中任一项所述的计算机实现的方法,其中所述窗口操作包括用于将所述第二应用窗口贴靠在显示区域内的操作。
122.条款6.根据条款1至5中任一项所述的计算机实现的方法,其中所述窗口操作包括用于最小化所述第二应用窗口的操作。
123.条款7.根据条款1至6中任一项所述的计算机实现的方法,还包括:接收对于关闭所述第二应用窗口的请求;以及响应于接收到对于关闭所述第二应用窗口的所述请求,从视图中移除所述第二应用窗口并且显示所述第一应用窗口。
124.条款8.一种计算机实现的方法,包括:接收对于在可折叠计算设备的第一显示区域中启动第一应用的请求;以及响应于接收到对于启动所述第一应用的所述请求,在所述第一显示区域中启动所述第一应用,在所述可折叠计算设备的第二显示区域中显示用户界
面(ui),所述ui包括多个ui控件,所述ui控件中的每个ui控件与相应应用相关联,接收对所述ui控件中的一个ui控件的选择,以及响应于接收到对所述ui控件中的所述一个ui控件的所述选择,在所述第二显示区域中启动与所选择的所述ui控件相关联的应用。
125.条款9.根据条款8所述的计算机实现的方法,其中所述第一应用被配置为启动与所述ui控件相关联的所述应用。
126.条款10.根据条款8或9中任一项所述的计算机实现的方法,其中与所述ui控件相关联的所述应用包括在所述可折叠计算设备上最近执行的应用。
127.条款11.根据条款8至10中任一项所述的计算机实现的方法,其中与所述ui控件相关联的所述应用包括在所述可折叠计算设备上当前执行的应用。
128.条款12.根据条款8至11中任一项所述的计算机实现的方法,其中与所述ui控件相关联的所述应用包括由用户或所述可折叠计算设备选择的应用集合。
129.条款13.根据条款8至12中任一项所述的计算机实现的方法,其中与所述ui控件相关联的所述应用是使用机器学习来选择的。
130.条款14.一种计算机实现的方法,包括:接收对于在由可折叠计算设备提供的第一显示区域中启动应用的请求;以及响应于接收到对于在所述第一显示区域中启动所述第一应用的请求,确定与第二应用相关联的一个或多个用户界面(ui)元素是否存在于所述第一显示区域中,响应于确定与所述第二应用相关联的所述一个或多个ui元素存在于所述第一显示区域中,将所述一个或多个ui元素从所述第一显示区域移动到由所述可折叠计算设备提供的第二显示区域,以及在所述第一显示区域启动所述应用。
131.条款15.根据条款14所述的计算机实现的方法,其中所述一个或多个ui元素包括由所述应用显示的ui元素。
132.条款16.根据条款14或15中任一项所述的计算机实现的方法,其中所述一个或多个ui元素包括由操作系统显示的ui元素。
133.条款17.根据条款14至16中任一项所述的计算机实现方法,其中所述可折叠计算设备包括具有第一显示屏和第二显示屏的铰接计算设备,其中所述第一显示区域位于所述第一显示屏上,并且其中所述第二显示区域位于所述第二显示屏上。
134.条款18.一种计算机实现的方法,包括:在可折叠计算设备上执行第一应用,所述第一应用被配置为在第一显示区域中显示第一应用窗口;在所述可折叠计算设备上执行第二应用,所述第二应用被配置为在第二显示区域中显示第二应用窗口;在所述第二显示区域接收对于在所述可折叠计算设备上启动第三应用的请求,所述第三应用被配置为显示第三应用窗口;以及响应于接收到所述请求,确定所述第一应用窗口和所述第二应用窗口是否应当被堆叠,响应于确定所述第一应用窗口和所述第二应用窗口不应当被堆叠,在所述第一显示区域中平铺所述第一应用窗口和所述第二应用窗口,并且启动所述第三应用并且在所述第二显示区域中显示所述第三应用窗口。
135.条款19.根据条款18所述的计算机实现的方法,还包括:响应于确定所述第一应用窗口和所述第二应用窗口应当被堆叠,而在所述第一显示区域中堆叠显示所述第一应用窗口和所述第二应用窗口。
136.条款20.根据条款18或19中任一项所述的计算机实现方法,其中所述可折叠计算设备包括具有第一显示屏和第二显示屏的铰接计算设备,其中所述第一显示区域位于所述
第一显示屏上,并且其中所述第二显示区域位于所述第二显示屏上。
137.基于前述内容,应当理解,用于为可折叠计算设备提供有条件窗口模型的技术已经在本文中公开。尽管本文中提出的主题已经以特定于计算机结构特征、方法和转换性动作、特定计算机器和计算机可读介质的语言进行了描述,但应当理解,所附权利要求中阐述的主题不一定限于本文中描述的特定特征、动作或介质。相反,特定特征、动作和介质被公开作为实现要求保护的主题的示例形式。
138.上述主题仅通过说明的方式提供并且不应当被解释为限制性的。可以对本文中描述的主题进行各种修改和改变,而不遵循图示和描述的示例配置和应用,并且不背离在所附权利要求中阐述的本公开的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献