CN103189828B - 管理用户界面中的项的方法和系统以及计算设备 - Google Patents
管理用户界面中的项的方法和系统以及计算设备 Download PDFInfo
- Publication number
- CN103189828B CN103189828B CN201180053318.0A CN201180053318A CN103189828B CN 103189828 B CN103189828 B CN 103189828B CN 201180053318 A CN201180053318 A CN 201180053318A CN 103189828 B CN103189828 B CN 103189828B
- Authority
- CN
- China
- Prior art keywords
- item
- container
- expression
- pointer
- user interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
Abstract
公开了关于在用户界面中移动项的用户界面变化。可以通过在用户界面中移动光标或指点设备来启动对所选择的项的操作(例如,拖拽操作),而且可以呈现图示所选择的项的表示从其各自的原始位置朝光标或指点设备的当前位置移动并且在光标或指点设备的当前位置附近形成群集的动画。当项的群集在用户界面中的容器对象之上移动时,项的表示可以采用由这个容器对象定义的外观样式。项的表示还可以被示出为脱离群集并且朝着容器对象中所述项的预期位置移动,作为放到该容器对象中的放下操作的预览。
Description
技术领域
本公开总体上涉及管理计算设备上的信息项。
背景技术
现代计算设备常常包括在文件系统层次结构中的各种目录或子目录(例如,文件夹)中存储信息项的文件系统。在图形用户界面(GUI)中,信息项的表示(例如,图标)可以在与该信息项的父项关联的相应容器对象(例如,桌面、文件夹窗口)中示出,以便指示该信息项在文件系统层次结构中的位置。
每个容器对象可以与一种外观样式(例如,大图标视图、小图标视图、列表视图、列视图,等等)关联。容器对象中所包含的信息项的表示可以根据与该容器对象关联的外观样式呈现相应的外观。当一个项从一个容器移到具有不同外观样式的另一个容器时,或者当当前容器的外观样式被修改时,项的表示的外观可以根据该项的当前容器的当前外观样式改变。
许多操作系统都使得可以对GUI中当前选择的项执行拖放操作。在拖放操作中,所选项的表示可以在用户界面中跟随指针(例如,鼠标光标或者触摸敏感表面上的指点设备)的移动从一个容器对象移动(或者“拖拽”)到另一个容器对象。当该项在期望的目标容器的降落区(dropzone)之上被释放(或者“放下”)时,所选择的项变成目标容器的内容项而且该项的表示根据与目标容器关联的外观样式呈现在目标容器中。
发明内容
用户或应用可以在用户界面中选择一个或更多个项表示并且通过用户界面中光标(例如,鼠标光标或轨迹球光标)或指点设备(例如,手指或触控笔)的移动对选择的项表示启动操作(例如,拖拽操作)。当操作被启动时,可以在用户界面中呈现说明所述项表示在朝着光标或指点设备的当前位置移动并且在光标或指点设备的当前位置附近形成群集的动画。当光标或指点设备在用户界面中移动时,项表示的群集可以在用户界面中随着光标或指点设备一起移动。群集中的每个项表示可以在用户界面中沿着与该群集中其它项表示不同的路径并且以不同的速度或加速度移动。
当项表示初始被选择时,根据与从中选择了这些项表示的容器对象关联的外观样式,这些项表示可以具有各自的第一外观。当项表示的群集在用户界面中的容器对象的降落区之上移动时,该群集中的项表示可以基于与这个容器对象关联的外观样式呈现相应的外观。
在有些实现中,如果用户在用户界面中移动群集路过一个容器对象以到达另一个目的地,则不呈现出外观的变化,并且在确定用户在容器对象之上移动群集的意图是要把该群集放到该容器对象中的时候才呈现出外观的变化。用户的意图可以基于诸如当群集在容器对象之上移动时用户界面中光标或指点设备的速度或加速度之类的运动特征来估计。
在有些实现中,当项表示的群集在不合格的降落目标的区域之上移动时,群集中的项表示可以呈现与它们在源容器中时的原始外观不同的各自的外观,其中这些项表示是从该源容器中选择的。新的外观可以基于由源容器为该不合格的降落目标定义的外观样式。在有些实现中,源容器可以定义可基于不同的触发事件(例如,项表示在不合格的降落目标上的逗留、项表示在源容器内的特定区域上经过,等等)应用到项表示的任何数量的不同外观样式。
在有些实现中,当指针或群集在潜在的目标容器之上逗留超过既定的时间段时,可以呈现动画以示出这些项表示脱离群集并且朝着目标容器对象中的这些表示的预期位置移动,作为放到目标容器对象中的放下操作的预览。项表示可以在这些项表示的预期位置处或者其附近以预览状态(例如,作为半透明的覆层)出现,并且采用与潜在的目标容器对象关联的外观样式。如果有些项表示的预期位置是在潜在目标容器对象的当前在用户界面中不可见的区域中,这些项表示可以被示出为在用户界面中从群集沿各自的路径移动到该不可见的区域中。
在有些实现中,如果光标或指点设备移动离开潜在的目标容器而没有放下所选择的项,则所选择的项的表示可以动画显示成从其在预期位置或者附近的各自的位置移走并且在光标或指点设备的当前位置附近重新加入群集。另选地,如果所选择的项被释放到潜在的目标容器中,则所选择的项的表示可以动画显示成从第一状态(例如,半透明状态)转变到第二状态(例如,不透明状态)并且安放在潜在目标容器中该项的预期位置。
有些实现包括环境中的一个或更多个应用编程接口(API),在所述环境中,调用程序代码与通过这一个或更多个接口被调用的其它程序代码交互。各种函数调用、消息或者其它类型的启用(invocation)(其可以进一步包括各种类型的参数)可以经由API在调用程序与被调用的代码之间传送。此外,API可以为调用程序代码提供使用在API中定义并且在被调用的程序代码中实现的数据类型或类的能力。
至少某些实现包括其中调用软件部件通过API与被调用的软件部件交互的环境。在这种环境中通过API进行操作的方法包括经由API传送一个或更多个函数调用、消息和其它类型的启用或参数。
在有些实现中,项表示可以具有由操作系统基于由源容器对象及各种潜在的降落目标容器定义的各种外观样式而生成的外观。每种外观样式可以由对应的容器通过API来定义。每种外观样式可以为项表示规定一个或更多个层,而且每一层可以与控制该层的外观、该层的动画样式等的不同属性和规则关联。不同的动画可以对不同的层彼此独立地执行。
除了各个单独项表示的外观样式,在项表示处于其各种外观时,每个容器对象还可以为多个项(例如,全部所选择的项)集体地定义相应的队形样式(formationstyle)。队形样式也可以由它们对应的容器对象通过API来定义。队形样式的例子可以包括项表示在其源容器中的布局、指针附近的群集队形、以及在潜在降落目标容器中的预览队形,如在此所描述的。其它的队形样式也可以定义。可以被应用以示出外观和队形之间的各自的转变的不同动画样式也可以由源容器或者潜在的降落目标容器通过API规定。
在附图和以下描述中阐述在用户界面中管理项的一种或多种实现的细节。其它的特征、方面和优点将从该描述、附图及权利要求变得清楚。
附图说明
图1A-1C说明了示例性用户界面变化,示出了,响应于对多个所选项的既定操作(例如,拖拽操作)的启动,多个所选项的表示朝指针的当前位置移动并且在指针的当前位置附近形成群集。
图1D说明了示例性用户界面变化,示出了在用户界面中项表示的群集的移动跟随指针的移动。
图1E-1F说明了示例性用户界面变化,示出了在群集处于潜在目标容器的降落区中时该群集中的项表示根据潜在目标容器的外观样式改变其外观。
图1G说明了示例性用户界面变化,示出了如果所选择的项要放到潜在目标容器中,项表示脱离群集并且朝着潜在目标容器中其各自的预期位置移动,作为容器配置的预览。
图1H说明了示例性用户界面变化,示出了在所选择的项被释放或放到潜在目标容器中的时候所选择的项的表示安放到其各自的预期位置中。
图1I说明了示例性用户界面变化,示出了项表示的群集跟随指针的移动而离开潜在的目标容器(例如,用户决定不把所选择的项放到该潜在的目标容器中)。
图1J-1K说明了示例性用户界面变化,示出了项表示的群集被拖到与第二外观样式关联的第二潜在目标容器中并且项表示的群集根据第二潜在目标容器的外观样式改变其外观。
图1L说明了示例性用户界面变化,示出了如果所选择的项要放到第二潜在目标容器中,所选项的表示脱离群集并且朝着第二潜在目标容器中其各自的预期位置移动,作为容器配置的预览。
图1M说明了示例性用户界面变化,示出了在所选项被放到第二潜在目标容器中时,所选项的表示安放到其各自的预期位置。
图1N-1P说明了示例性用户界面变化,示出了对一个或更多个项的选择及从第一容器到处于自由排列状态的第二容器的拖拽。
图1Q-1R说明了示例性用户界面变化,示出了项表示的预览被显示在第二容器中的其预期位置,并且在预览过程中在第二容器对象中被指针移动。
图1S说明了示例性用户界面变化,示出了在项被释放到第二容器中之后所选项安放到如预览中所示的各自的位置。
图2A是响应于对所选项的既定操作(例如,拖拽操作)的启动而使所选项的表示在指针当前位置附近形成群集的示例性过程的流程图。
图2B是用于使群集中所选项的表示跟随指针的持续移动的示例性过程的流程图。
图3是用于在项表示的群集移到与一不同外观样式关联的容器时改变项表示外观的示例性过程的流程图。
图4A是用于显示项表示在潜在目标容器中其各自的预期位置的预览的示例性过程的流程图。
图4B是用于在潜在目标容器中放下所选项的示例性过程的流程图。
图5是用于在预览之后从潜在目标容器移开而不把所选项放到该潜在目标容器中的示例性过程的流程图。
图6是用于确定是否要在潜在目标容器中的项表示的预期位置处呈现项表示的预览的示例性过程的流程图。
图7是用于在项被从一个容器拖到另一个容器时改变项表示的外观的示例性过程的流程图。
图8A-8C说明了用于实现参考图1A-1S描述的菜单呈现过程的示例性软件体系结构。
图9是用于实现参考图1-8C描述的用户界面和过程的示例性硬件体系结构的框图。
在各个图中,相同的标号指示相同的元件。
具体实施方式
用于在用户界面中拖放项的示例性用户界面
在文件系统中,信息项(例如,文件与文件夹)可以被组织在文件系统层次结构中。每个信息项(例如,文件与文件夹)可以被包含在文件系统层次结构中的父项(例如,父文件夹)中。在用于编辑文档的应用程序(例如,html编辑器、文字处理器、电子邮件编辑器等)中,内容项(例如,图像、视频、数据对象等)可以嵌在文档中的特定位置。此外,信息项(例如,地址本条目、数据对象)和用户界面元素(例如,按钮)可以从应用窗口中的既定位置移动以及在既定位置处插入。
在图形用户界面(GUI)中,容器对象,例如桌面、文件夹窗口和/或应用窗口,可以用于代表文件系统层次结构中的文件夹、呈现新的或现有的应用文档、和/或呈现用户界面元素或数据对象。父文件夹中所包含的信息项(例如,文件和文件夹)的表示(例如,图标)可以在GUI中代表父文件夹的容器对象(例如,文件夹窗口或桌面)中显示。类似地,内容项(例如,图像、视频剪辑、数据对象等)的表示(例如,缩略图或图标)可以在呈现其中嵌入有该内容项的应用文档的容器对象(例如,应用窗口)中显示。类似地,用户界面元素和数据对象的表示(例如,按钮或者数据对象的图标)也可以在容器对象(例如,应用窗口、查找器窗口)中呈现。
在常规的GUI中,用户或应用可以在源容器(例如,桌面或文件夹窗口)中选择项的表示(例如,图标)、利用指针(例如,鼠标光标、触摸敏感显示器上的触控笔或者手指)把选择的项表示移到(例如,拖拽到)目标容器的降落区(例如,桌面的可用区域或者文件夹窗口的窗口区域)中,以及把选择的项表示放下到该目标容器中。在拖放操作之后,选择的项表示可以在用户界面上从源容器移动到目标容器。在文件系统中,对应于所选表示的项在文件系统层次结构中从与源容器关联的位置移动到与目标容器关联的另一位置。
在常规的GUI中,当用户在用户界面中拖拽选择的项时,所选择的项的移动整体上可以被图示出为包含所选项的表示的图像由光标或指点设备拖拽行进。当该图像在用户界面中从一个位置被拖拽到另一个位置时,所选择的项的外观与空间关系在该图像内是静态的。当在该图像进入目标容器的降落区之后该项被释放时(例如,由目标容器外观的变化所指示的),图像消失到目标容器中,指示移动完成。
如在这里所公开的,用户可以在用户界面中选择一个或更多个项,并且在项被选择了的时候,用户可以通过光标或指点设备的移动对选择的项启动既定的操作(例如,拖拽操作)。当操作被启动时,可以呈现说明所选项的表示(例如,图标)在用户界面中从其原始位置朝光标或指点设备的当前位置移动并且在光标或指点设备的当前位置附近形成群集的动画。在下文中,术语“指针”将用于描述光标(例如,鼠标或轨迹球光标)和指点设备(例如,触摸敏感显示器上的手指或触控笔)。
在有些实现中,当用户在拖拽操作中持续地移动指针时,选择的项的表示可以作为一个群集在用户界面中跟随该指针(例如,用户界面中的光标或者触摸敏感显示器上手指或触控笔的触摸点)而移动。群集中每个项表示的单独移动可以独立地以相对于该群集中的其它项表示的路径、速度和加速度来表示。在有些实现中,这些项表示可以在群集中以不同的距离尾随在指针的当前位置之后。
此外,在有些实现中,用户界面中所显示的容器对象可以与不同的外观样式关联,而且每个容器对象中所显示的项的表示可以根据与该容器对象关联的外观样式而呈现特征外观。例如,共同的外观样式可以包括大图标视图、小图标视图、列表视图、列视图或者图片视图。与应用窗口关联的其它外观样式可以由提供该应用窗口的应用程序例如通过与操作系统关联的API来定义。除了用于分别的项表示的外观样式,每个容器对象还可以定义一起用于所选择的项表示的队形样式。示例性的队形样式包括自由排列的布局、保持排列的布局、群集等。
在有些实现中,当项最初被选择时,所选择的项的表示可以具有根据与项的各自源容器关联的外观样式的各自的第一外观。当所选项的表示形成群集并且在用户界面中不同容器对象的降落区之上移动时,依赖于与项表示的群集当前处于其上的容器对象关联的外观样式,该群集中的所选项的表示可以呈现不同的外观。在有些实现中,当群集中的所选项在不合格的降落目标容器的区域之上时,该群集中的所选项的表示可以呈现基于由源容器对象为该不合格的降落目标容器所定义的其它外观样式的外观。所选项的队形样式也可以根据由源容器为该不合格的降落目标容器定义的队形样式而改变。
图1A-1C说明了示例性用户界面变化,示出了,响应于指针对多个所选项的既定操作(例如,拖拽操作)的启动,这多个所选项的表示朝指针的当前位置移动并且在指针的当前位置附近形成群集。
在图1A中,给出了示例性用户界面100。示例性用户界面100可以是操作系统的桌面。在用户界面100上,例如,在桌面的显示区域102中,显示了多个容器对象(例如,文件夹窗口104、文件夹窗口106和应用窗口108)。
如图1A中所示,文件夹窗口104包含以大图标视图示出的项的表示(例如,项表示110、112、114、116和118)。在大图标视图中,每个项的表示可以包括显示该项内容的预览的缩略图和显示该项名称的文字标签。例如,如果项是图像文件,那么大图标视图中该项的表示可以是该图像文件按比例缩小的副本,具有显示该图像文件的文件名的文字标签。对于另一个例子,如果项是文件夹,那么大图标视图中该项的表示可以是放大的文件夹图标与显示该文件夹名称的文字标签,在放大的文件夹图标的表面上显露该文件夹的代表性内容。其它的外观特征可以与大图标视图中项的表示关联,例如大小、透明等级、配色方案,等等。
在有些实现中,文件夹窗口也可以是小图标视图,其中可以显示代表项的更小图标。项的小图标表示可以包括比项的大图标表示更少的视觉信息。例如,项的小图标表示可以指示该项的文件类型(例如,图像文件、文本文档、文件夹等),但是省略了关于该项任何具体内容的信息。项的大图标表示和小图标表示都可以包括指示该项文件名的文字标签。在有些实现中,项的大图标表示和小图标表示的文字标签可以具有不同的外观。
在有些实现中,大图标视图(或小图标视图)中的文件夹窗口(例如,文件夹窗口104)可以处于自由排列状态或者保持排列状态。在自由排列状态中,项的表示可以位于并移动到文件夹窗口的显示区域中的任何坐标位置。在保持排列状态中,项的表示可以位于均匀间隔的网格上,并且根据一种或多种保持排列标准排序(例如,通过文件名、通过修改时间、通过大小、通过文件类型,等等)。
在有些实现中,当文件夹窗口处于保持排列状态时,如果有新的项引入到该文件夹窗口,或者如果对于该文件夹窗口中的一个或更多个项来说与保持排列标准(例如,分类标准)关联的属性改变,则该文件夹窗口可以更新,以便根据一个或更多个保持排列标准和新的属性值在该文件夹窗口的显示区域上重新组织项。
在有些实现中,文件夹窗口(例如,文件夹窗口104)可以调整大小,使得在用户界面100上该文件夹窗口只有一部分显示区域可见。用户可以使用滚动控件来移动文件夹窗口的观察窗以便显露显示区域的隐藏部分,或者放大文件夹窗口来显露该文件夹窗口的更多显示区域。
如图1A中所示出的,文件夹窗口104目前是以大图标视图和自由排列状态示出的。项110、112、114、116和118的大图标表示以自由排列配置位于文件夹窗口104的显示区域中。而且,如图1A中所示出的,用户已经选择了项110、114和118(如由项110、114和118的阴影所指示的)。
而且,在图1A中,文件夹窗口106目前是以列表视图示出的。文件夹窗口106代表文件系统层次结构中的一个文件夹(例如,文件夹“降落目标1”)。在文件夹窗口106中示出的项是包含在由文件夹窗口106所代表的文件夹中的项。文件夹窗口106中所示出的项的表示(例如,项表示122a和122b)可以每个都包括代表该项的小图标和示出该项文件名的文字标签。项的列表视图的小图标可以与该项的小图标表示的图形部分相同,但是列表视图表示和小图标表示中的文字标签在这两种表示中可以位于不同的位置。例如,在列表视图表示中,文字标签位于小图标的右侧;而在小图标表示中,文字标签位于小图标的下面。
如图1A中所示出的,列表视图文件夹窗口106中的项表示(例如,项表示122a和122b)可以根据保持排列标准排序,例如通过文件名、通过大小、通过修改时间、通过项类型,等等。在文件夹窗口106中,两个项122a和122b的表示是根据其文件名排列的。
除了大图标视图、小图标视图和列表试图,文件夹窗口还可以在列视图中示出(在图1A中没有示出)。列视图中的文件夹窗口可以包括一列或者多列。每一列可以对应于文件系统层次结构中的相应等级并且与来自文件系统中相应等级的父等级的相应父项关联。列视图文件夹窗口中连续的列对应于文件系统层次结构的连续等级。每一列都可以呈现作为该列左边的相邻列中当前所选项的孩子项的项的表示。列视图文件夹窗口中项的表示可以具有与列表视图文件夹窗口中项的表示相似的外观。
可以定义文件夹窗口和应用窗口的其它视图。操作系统可以提供应用编程接口(API),其规定当呈现在各种视图中的文件夹窗口和应用窗口中时项的表示可以具有的各种外观特征。在有些实现中,文件夹窗口的每个视图可以被规定为具有控制各个单独的项表示在这种视图中看起来应当是什么样子的外观样式。每种外观样式可以为项表示的不同部件规定一个或更多个层。例如,可以为项表示的图标图像、项表示的文字标签和项表示的背景图像定义各自的层。每一层都可以具有关联的属性,其定义部件看起来应当是什么样子及在从当前外观样式转变到另一外观样式时可如何动画显示该部件。
图1A显示用户已经在文件夹窗口104中选择了项110、114和118。项的选择可以由指针、键盘、另一种输入设备或者以上一种或多种的组合来实现。指针的当前位置可以由光标(例如,光标120)在用户界面100上指示。在指针是触摸敏感显示器上的手指或触控笔的一些实现中,不需要在用户界面100上显示光标,而且指针的当前位置是手指或触控笔在触摸敏感显示器上的触摸点。
图1B说明了在检测到既定操作(例如,拖拽操作)的启动之后,项表示从文件夹窗口104中其原始位置朝指针当前位置的移动。
在有些实现中,在项在用户界面100中保持被选中的同时,既定操作(例如,拖拽操作)的启动可以由指针从文件夹窗口104内的位置到文件夹窗口104外另一个位置的移动来指示。在有些实现中,当指针在输入设备(例如,鼠标或键盘)上的保持按钮(例如,鼠标按钮或者“SHIFT”键)保持被按压的同时移动时,既定操作开始并持续。在有些实现中,既定操作的启动可以由指针从一个位置到另一个位置超过既定阈值距离的移动来指示,而不管第二个位置是在文件夹窗口104之内还是之外。在有些实现中,保持按钮在既定操作过程中不需要按下。
如图1B中所示出的,在检测到既定操作(例如,拖拽操作)的启动(例如,如由文件夹窗口104之外光标120的当前位置所指示的)之后,可以在用户界面100中呈现说明所选项的各自的表示从其原始位置朝用户界面100上指针的当前位置移动的动画。每个项表示的移动可以沿着用户界面100中的各自路径(例如,就像由虚线曲线所指示的)。在有些实现中,各个所选项的表示(例如,项表示110、114和118)可以保留在文件夹窗口104中其原始位置,而这些表示的副本(例如,项表示110’、114’和118’)可以示出为从表示110、114和118剥离并沿其各自的路径朝着指针的当前位置移动。
在有些实现中,用于每个项表示(例如,项表示110’、114’和118’中的每一个)的速度、加速度和路径形状可以彼此独立地改变。在有些实现中,位置更靠近指针起点的项表示(例如,项表示114’)可以示出为比文件夹窗口104离指针起始位置更远的项表示(例如,项表示110’和118’)更早地离开。
在有些实现中,指针一开始移动,项表示就可以开始其朝着指针当前位置的各自的移动,而且,如果选择的项在指针的当前位置到达文件夹窗口104的边缘之前被释放,则所选项的表示可以示出为沿用户界面100中其各自的路径移动返回文件夹窗口104中其原始位置。
在有些实现中,指针一开始移动,项表示(例如,项表示110’、114’和118’)就可以示出为以更慢更一致的速度朝着指针的当前位置开始其各自的移动。而且,指针的当前位置一移动超出文件夹窗口104(或者,另选地,指针一从其在文件夹窗口104中的起始位置移动超出阈值距离),项的表示就可以示出为朝着指针的当前位置更快地移动(或者加速),并且在指针的当前位置附近形成群集。
在有些实现中,当指针在文件夹窗口104中移动时,所选项的表示就可以作为静态图像跟随指针的移动,其中所选项之间的空间关系在移动过程中不变。而且,指针一移动到文件夹窗口104的外面,所选项的表示就可以示出为朝着指针的当前位置沿其各自的路径移动(或者“聚集”)并且在指针的当前位置附近形成群集。
在有些实现中,项表示的队形(例如,群集)可以由源容器对象(例如,文件夹窗口104)通过API来定义。示出项表示从其各自的原始位置到其各自在队形(例如,群集)中的位置的相应移动的动画样式(例如,路径形状、速度、加速度)也可以由源容器通过API来定义。在有些实现中,项表示的外观样式与队形样式可以由源容器和潜在的降落目标容器联合确定。
如图1C中所示,所选项的各自表示(表示110’、114’和118’)已经到达其在指针当前位置附近的相应位置(例如,如由光标120所指示的),并且在指针的当前位置附近形成了群集124。在有些实现中,项的表示可以在不同时刻到达群集124。
在有些实现中,如图1C中所示,由所选项的表示形成的群集124是包含所选项的表示(例如,项表示110’、114’和118’)的堆叠。在有些实现中,项表示在堆叠中的次序可以依赖这些表示到达堆叠的次序,这又间接地可依赖于每个项在文件夹窗口104中的原始位置与文件夹窗口104中指针的起始位置之间的相应距离。在有些实现中,堆叠中各个项表示的次序可以依赖于在文件夹窗口104中项被选择的次序。在有些实现中,群集124中项表示的其它排序(例如,随机次序)也是可能的。在有些实现中,项表示的次序可以在与潜在降落目标(例如,桌面)关联的队形样式中定义。在有些实现中,项表示的次序可以在与源容器(例如,文件夹窗口104)关联的队形样式中定义。
在有些实现中,项的表示不一定要在群集124中形成堆叠。群集124中项的其它布置也是可能的。例如,如果群集中项表示的个数较少,则项可以在指针的当前位置附近在网格上或者沿弯曲的路径(例如,以圆圈)铺开。在有些实现中,如果项的表示在群集中重叠,那么群集中项的表示可以响应于预定义的输入命令(例如,展开命令)暂时地展开,以便消除重叠。不同的队形样式或布置可以利用不同的触发事件来定义,例如队形中项的个数、指针的当前位置,等等。不同的队形样式可以用于在用户界面中检测到其对应的触发事件时排列项表示。
在有些实现中,在项表示(例如,项表示110’、114’和118’)已经在指针的当前位置(例如,由光标120所指示的)附近形成了群集124之后,项表示可以在群集124中的既定范围内独立地移动。例如,每个项表示110’、114’和118’都可以示出为以一种好像项表示110’、114’和118’浮在水中并且由于水中的水流而摆动的方式在群集124中指针的当前位置附近移动。
在有些实现中,计数指示器126可以在群集124附近呈现或者附连到群集124。计数指示器126可以显示指示已经在群集124中聚集的项表示的个数的数字。如图1C中所示,三个项表示(例如,项表示110’、114’和118’)已经在指针的当前位置附近聚集并且形成了群集124,而且附连到群集124的计数指示器126显示数字“3”。在有些实现中,计数指示器可以在群集中它自己的层中定义,而且独立于群集中的项表示来用动画显示。源容器可以为群集提供队形样式,而且该队形样式可以规定项表示要如何在群集中铺开。
如图1C中所示,指针的当前位置是在桌面的显示区域102上。桌面本身可以是在桌面的显示区域102中显示项表示(例如,用于桌面文件夹中的文件与文件夹的图标)的容器。桌面可以在大图标视图或小图标视图中呈现项,而且桌面中项的表示可以是自由排列配置或者保持排列配置。
在这个例子中,桌面是在大图标视图中。因此,在项的表示从文件夹窗口104移动到桌面上指针的当前位置的时候,当它们在桌面上形成群集124时,项表示的外观不改变。但是,如果桌面是在小图标视图中,那么,当项表示在桌面上群集时,项表示可以从其原始的大图标外观(如在文件夹窗口104中所示出的)变成小图标外观。
在有些实现中,在(例如,通过释放指针或键盘上的保持按钮或者通过从触摸敏感显示器抬起手指)释放被拖拽的项之前,项表示可以在群集(例如,群集124)中跟随指针在用户界面100中的移动。
如图1D中所示,当指针的当前位置(例如,如由光标120所指示的)沿着用户界面100中(例如,桌面的显示区域102内)的一条路径(例如,如由虚线曲线128a所指示的)移动时,群集124中的项表示沿着这些表示的各自路径(如由虚线曲线128b-d所指示的)跟随指针的移动。
在有些实现中,群集124中的项表示可以按不同的速度和不同的加速度移动,而且以不同的距离尾随在光标120后面。在有些实现中,当指针在用户界面100中停止时(例如,在箭头的方向中在弯曲路径128a的末端),在项表示到达指针在用户界面100中的停止位置附近的位置的时候,群集124中的每个项表示可以示出为减速。
图1E-1F说明了示例性用户界面变化,示出了在群集处于潜在目标容器的降落区中时该群集中的所选项的表示根据该潜在目标容器的外观样式而改变其外观。
继续图1A-1D中所示出的例子,如果用户继续对所选择的项表示110’、114’和118’的拖拽操作,那么由项表示110’、114’和118’形成的群集124可以跟随指针移动进入文件夹窗口106(如图1E中所示)。当群集124最初进入文件夹窗口106时,群集124中项表示的外观可以与群集124在桌面的显示区域102中时群集124中项表示的外观相同。
在有些实现中,如果群集124被快速地拖拽通过文件夹窗口106而没有停止或者减速,则群集124中项表示的外观不需要变化。在有些实现中,当群集124从用户界面100上的一个位置被拖到另一个位置时,操作系统可以监视指针的运动模式。如果指针在一个容器对象(例如,文件夹窗口、应用窗口或者桌面)上的运动模式表明用户将该容器对象考虑作为群集124中所选项的潜在目标容器,就可以执行群集124中项表示的外观的变化。如果指针在一个容器对象上的运动模式表明用户仅仅是在到用户界面上另一个位置的路上经过该容器,就不启动群集124中项表示的外观的变化。
在有些实现中,表明用户将一个容器考虑作为群集124中所选项的潜在目标容器的运动模式的特征可以包括,在指针进入该容器之后指针减速或者指针在该容器内暂停超过阈值时间量(例如,逗留)。在有些实现中,表明用户仅仅是移动指针经过一个容器去往用户界面100中的另一个位置的运动模式的特征可以包括,指针在该容器上快而平滑的移动而没有任何减速。
在有些实现中,如图1F中所示,当指针在文件夹窗口106中减速或者暂停时,群集124中项表示的外观可以从与桌面关联的大图标视图变成与文件夹窗口106关联的列表视图。例如,所选择的项的表示110’、114’和118’是项的大图标表示,而且在图1F中,群集124中的大图标表示110’、114’和118’已经被表示110’’、114’’和118’’代替,其中110’’、114’’和118’’分别是所选择的项110、114和118的列表视图表示。
如图1F中所示,群集124中所选项的列表视图表示110’’、114’’和118’’中的每一个都可以包括小图标和文字标签。在有些实现中,群集124中的列表视图表示可以根据文件夹窗口106的保持排列标准(例如,通过文件名、通过大小、通过文件类型、通过修改时间等)在群集124中排序。在有些实现中,群集124中列表视图表示110’’、114’’和118’’的次序在外观发生变化之前和之后可以保持相同。
在有些实现中,可以呈现示出项表示从其在群集中的大图标外观到其在群集中列表视图外观的转变的动画。不同的动画可以应用到项表示的不同层(例如,图标图像层和文字标签层)。例如,一个动画可以应用到图标图像层,示出项表示的大图标图像收缩成该项表示的小图标图像。同时,另一个动画可以应用到文字标签层,示出该项表示的文字标签从大图标图像的底部移动到小图标图像的右侧。此外,文字标签本身的外观也可以在动画期间改变。例如,围绕文字标签可以添加边界,而且文字标签的颜色与字体也可以改变。
图1G说明了示例性用户界面变化,示出了,如果所选项要放到潜在目标容器(例如,文件夹窗口106)中,所选项的表示脱离群集124并且朝着潜在目标容器(例如,文件夹窗口106)中其各自的预期位置移动,作为容器配置的预览。
在有些实现中,当用户在容器(例如,文件夹窗口106)内暂停指针达较长时间段(例如,大于最小阈值时间段)时,或者当用户输入预定义的预览命令时,就可以在用户界面100中显示动画,其示出如果项要释放到该容器(例如,文件夹窗口106)中,群集124中的项表示(例如,项表示110’’、114’’和118’’)脱离其在群集124中的原始位置并且朝着其各自的预期位置移动。
在有些实现中,项表示的预期位置可以根据与容器(例如,文件夹窗口106)关联的保持排列标准(例如,通过文件名、文件大小、文件类型、修改时间等排序)和群集中所选项与该容器中已有的项的相关属性值(例如,文件名、文件大小、文件类型、修改时间等)来确定。例如,当通过其各自的文件名来排序时,选择的项110、114和118及已有的项122a和122b将具有以下的次序:(1)项122a,(2)项118,(3)项114,(4)项110,(5)项122b。基于这种次序,可以确定项表示110’’、114’’和118’’在文件夹窗口106中的预期位置。
如图1G中所示,项表示110’’、114’’和118’’已经从群集124脱离并且移动到如果所选择的项要放到文件夹窗口106中的话这些项表示在文件夹窗口106中将具有的各自预期位置。在有些实现中,已有项的表示(例如,项表示122a和122b)可以在文件夹窗口106中移动,以便为群集124中的所选项的表示腾出地方。
在有些实现中,来自群集124的项表示(项表示110’’、114’’和118’’)可以在潜在目标容器(例如,文件夹窗口106)中它们的预期位置处显示。在有些实现中,项表示(例如,项表示110’’、114’’和118’’)可以在潜在目标容器(例如,文件夹窗口106)中它们的预期位置附近显示。
在有些实现中,当所选项的表示在潜在目标容器中它们的预期位置处或者其附近呈现时,这些表示可以显示为用户界面上的半透明覆层。在有些实现中,当项表示在预览过程中在它们的预期位置处或者其附近呈现时,可以在项表示中提供其它的视觉指示。
在有些实现中,在群集124中的项表示(例如,项表示110’’、114’’和118’’)脱离群集并且移动到这些表示在潜在目标容器(例如,文件夹窗口106)中各自的预期位置之后,如果用户随后选择把选择的项放到该潜在目标容器中,则所选项的各自表示(例如,表示110’’、114’’和118’’)可以示出为移动(如果它们还没有显示在其各自的预期位置的话)并且安放到它们各自的预期位置中并且从第一状态(例如,半透明状态)变成第二状态(例如,不透明状态)。在有些实现中,当项表示放到了潜在目标容器中时,在预览过程中指示项表示的过渡状态的其它外观特征可以被除去。
图1H说明了示例性用户界面变化,示出了当所选项被放到潜在目标容器(例如,文件夹窗口106)中时所选项的表示已安放到其各自的预期位置中。
在有些实现中,如图1H中所示,在放下操作完成时,在其各自列表视图外观中的所选项的表示已经在图1G中预览过程中所示出的各自预期位置处被插入到文件夹窗口106中。在放下操作完成时,文件夹窗口104中所选项的表示可以从用户界面100除去,也如图1H中所示出的。在上面的例子中,拖放操作是对所选择的项执行的,而且拖放造成所选项在文件系统中的移动。在有些实现中,拖放操作也可以对所选项的副本执行,而且在拖放之后所选项的表示可以留在文件夹窗口104中并且返回到它们正常的大图标视图(例如,没有在图1A中所示出的阴影)。
在有些实现中,用户可以把选择的项放到潜在的目标容器中,而不用等待呈现这些项在其预期位置的预览。例如,用户可以在指针移到潜在目标容器的降落区中之后立即释放项。例如,放下操作可以在用户界面100处于如图1E所示的状态时启动。另选地,用户可以在项从大图标视图到列表视图改变其外观之后释放项。例如,放下操作可以在用户界面100处于如图1F所示的状态时启动。当项被释放时,项的表示可以示出为从其各自的当前位置朝着它们的预期位置沿着项的各自路径移动并且最后安放在项的预期位置,如图1H中所示。
图1I说明了示例性用户界面变化,示出了项表示的群集跟随指针移动脱离潜在目标容器(例如,在图1F和1G中所示的状态之后用户决定不把选择的项放到该潜在的目标容器中)。
在有些实现中,如果用户决定不把项表示(例如,项表示110’’、114’’和118’’)释放到潜在目标容器(例如,文件夹窗口106)中,并且把指针移到用户界面100中一不同位置(例如,文件夹窗口106的外面),则项表示可以示出为从文件夹窗口106中它们各自的预期位置移走,并且朝着指针的当前位置移动以在指针的当前位置附近重新加入群集124。
如图1I中所示,当指针移出潜在目标容器(例如,文件夹窗口106)时,群集124跟随指针的光标120。此外,当群集124在桌面的显示区域102上时,群集124中的项表示可以从它们各自的列表视图外观变成它们各自的大图标视图外观。
图1J-1K说明了示例性用户界面变化,示出了项表示的群集被拖到与应用定义的外观样式关联的第二潜在目标容器(例如,应用窗口108)中,并且项表示的群集根据第二潜在目标容器的应用定义的外观样式改变其外观。
继续图1A-1I中所示出的例子,假设用户没有把所选择的项释放到文件夹窗口106中,并且已经把所选项的群集拖到应用窗口108中。应用窗口108可以呈现已有的或者新的文档130,并且文档130准备好被编辑。应用窗口108可以由对应的软件应用提供。在有些实现中,软件应用可以定义当文档在由软件应用提供的应用窗口中示出时内容项(例如,图像文件、视频剪辑、数据对象等)可以如何在文档中呈现。在有些实现中,软件应用可以通过应用编程接口(API)与操作系统通信,以便为操作系统提供当项表示被拖进和拖出应用窗口108时实现项表示外观变化所必需的信息(例如,内容项在应用定义的外观样式中的位置、大小、分辨率和格式)。
在有些实现中,应用可以在项表示的外观样式中规定多个层。每一层可以对应于项表示中的一个分量(例如,图标图像、文字标签和背景图像)。每一层可以与其自己的属性关联,例如规定分量的大小、颜色、位置及在外观样式之间转变时分量的动画样式的属性。每一层还可以与层名称或关键字名称关联。例如,显示项表示的文字标签的层可以被赋予关键字名称“标签”,而显示项表示的图标图像的层可以被赋予关键字名称“图标”。层的关键字名称可以由操作系统使用来识别项表示集合中(例如,群集中)可以对其应用特殊外观和/或动画的层。例如,操作系统可以识别群集中项表示中的所有“标签”层,并且在项表示到达群集时使项表示中的全部或者一些(例如,除一个以外的全部)文字标签淡出。
在图1J所示的例子中,提供应用窗口108的软件应用是电子邮件编辑器,而且在应用窗口108中呈现的文档是被编辑的电子邮件消息(例如,“消息1”)。该文档目前包括一些文字,但是还没有其它内容嵌入到该文档中。软件应用支持把内容项拖放到文档130中的插入点中。
当用户已经把包含所选项的表示(例如,表示110’、114’和118’)的群集124拖到应用窗口108中时,一开始,这些表示可以维持它们的大图标外观,如图1J中所示。操作系统可以监视用户指针的特征并且确定群集124是否只是在应用窗口108上被拖过,或者用户是否在考虑把应用窗口108作为群集124中所选项的潜在目标容器。
例如,操作系统可以监视群集124被拖到应用窗口108中的速度,以及指针当前是否在应用窗口108中停止。如果指针在应用窗口108中已经显著减速或者已经停止,那么操作系统就可以决定根据与应用窗口108关联的外观样式改变群集124中项表示的外观。如果操作系统确定指针正在移动通过应用窗口108而没有任何显著的减速或停止,那么操作系统就可以保持群集中项表示的外观不变,直到检测到运动模式的显著变化。
在这个例子中,用户已经在应用窗口108中停止指针。当操作系统检测到指针在应用窗口108中停止时,群集中项表示的外观可以从其大图标外观(例如,就像表示110’、114’和118’)变成其图片视图外观(例如,就像表示110’’’、114’’’和118’’’)。所选项的图片视图外观可以由应用程序根据如果项插入文档130中的话看起来将是什么样子来定义。例如,如果所选择的项是图像文件并且当图像文件插入到在应用窗口108中示出的电子邮件消息中时,则图像被调整大小以便具有半个页面宽度的均匀横向大小。应用窗口108的外观样式可以通过一个或更多个API调用提供给操作系统,而且操作系统可以根据应用窗口108的外观样式生成所选项的图片视图表示。在所选项的图片视图表示(例如,表示110’’’、114’’’和118’’’)已经生成之后,图片视图表示可以在群集124中呈现,代替所选项的大图标表示,如图1K中所示。
在有些实现中,图像文件的图片视图表示可以是具有较低分辨率或较少颜色信息的缩减图像。在有些实现中,图片视图表示可以是半透明的。软件应用可以定义与内容项的各种视图关联的其它外观样式,而且项表示可以由操作系统根据软件应用为该应用窗口提供的外观样式的定义而生成。
图1L说明了示例性用户界面变化,示出了,如果所选择的项要放到第二潜在目标容器(例如,应用窗口108)中,所选项的表示(例如,项表示110’’’、114’’’和118’’’)脱离群集124并且朝着该第二潜在目标容器中其各自的预期位置移动,作为容器配置的预览。
如图1L中所示,群集124中的每个项表示都可以沿各自的路径朝着潜在目标容器中其各自的预期位置移动。项表示的预期位置可以根据文档的内容和提供应用窗口108的应用程序的规范来确定。例如,提供应用窗口108的应用程序可以规定所选择的项可以插入到文档130中的次序与布局并且通过API向操作系统提供规范。操作系统可以实现用户界面变化,其示出项表示到其在应用窗口108中文档130中的各自预期位置的移动。
在有些情形中,应用窗口可以是有限尺寸,而且文档130不能完全在应用窗口108的观察窗中显露。用户可以增加应用窗口108的尺寸或者使用滚动控件把文档130的隐藏部分移到应用窗口108的观察窗中。当为群集124中的项表示确定了预期的位置时,有些项表示的预期位置可能在文档130的位于应用窗口108中当前不可见的区域中。在这种情形下,这些项的表示可以示出为脱离群集124,并且朝着它们的各自位置沿各自的路径移动。项表示可以示出为沿着通向当前在应用窗口108中不可见的预期位置的轨迹离开应用窗口108的可见区域。
例如,如图1L中所示,项表示118’’’的预期位置部分地位于应用窗口108的可见区域中。在项表示在其预期位置的预览过程中,可以呈现示出项表示118’’’部分地移入文档不可见区域的动画。类似地,项表示110’’’的预期位置完全在应用窗口108的可见区域之外,于是在预览过程中,动画可以示出项表示110’’’沿着进入应用窗口108不可见区域中的路径132的移动。通过显示动画,用户可以记住项表示110’’’不是简单地消失,而是位于文档130中图像表示118’’’下方的插入点。
如果在应用窗口108中观看了项表示位于其预期位置的预览之后用户决定放下所选择的项,则用户可以释放这些项(例如,通过释放鼠标或键盘上的保持按钮,或者通过从触摸敏感显示器抬起手指或触控笔)。图1M说明了示例性用户界面变化,示出了当所选择的项被放到第二潜在目标容器(例如,应用窗口108)中时所选择的项的表示已安放到其各自的预期位置。
如图1M中所示,项表示114’’’和118’’’已经从半透明状态变成了不透明状态。尽管项表示110’’’当前在应用窗口108显露的显示区域中不可见,但是如果用户在应用窗口108中进一步向下滚动,那么项表示110’’’将显露。在完成放下操作后,项表示110、114和118可以从其原始容器(例如,文件夹窗口104)除去。
图1A-1M说明了在项被拖过或放到处于保持排列状态的容器对象中的情况下的用户界面变化。图1N-1P说明了示例性用户界面变化,示出了项的选择及从第一容器对象到处于自由排列状态的第二容器对象的拖拽。
继续以上的例子,在图1M所示的状态之后,假设用户现在选择了被放到应用窗口108中的三个项中的两个(例如,项表示114’’’和118’’’),并且开始把选择的项从应用窗口108拖离(如图1N中所示)。
当操作系统检测到指针拖拽操作的启动时,操作系统可以呈现显示所选择的项表示(例如,项表示114’’’和118’’’)从其在应用窗口108中的原始位置朝着如由光标120所指示的指针当前位置移动的动画。在有些实现中,当指针还没有移出应用窗口108时,项表示的移动可以慢而均匀,并且只要指针一离开应用窗口108就可以朝着指针的当前位置加速。
图1O说明所选择的项表示(或者所选择的项表示的副本)已经移出应用窗口108并且在指针当前位置(如由光标120的位置所指示的)附近形成了群集134。此外,群集134中项表示的外观已经从图片视图表示114’’’和118’’’变成项的大图标表示114’和118’。计数指示器136(例如,标志)可以在群集134附近显示,显示群集134中所包括的项表示的个数。由于只选择了两个项,因此计数指示器中所显示的数字为“2”。
图1P显示用户已经把群集134拖回文件夹窗口104。文件夹窗口104与处于自由排列状态的大图标视图关联。由于桌面也与大图标视图关联,而且群集134中的项表示已经在群集被拖到桌面区域102的时候更新成其各自的大图标外观,因此,当群集134从桌面区域102被拖到文件夹窗口104时,群集134中项表示的外观不需要更新。
图1Q-1R说明了示例性用户界面变化,示出了项表示的预览被显示在自由排列的容器中它们的预期位置,以及在预览过程中在该自由排列的容器中被指针移动。
当用户输入了查看在自由排列的容器中处于其预期位置的项表示的预览的命令时,可以呈现示出项表示114’和118’脱离群集134并且朝文件夹窗口104中其预期位置移动的动画。由于文件夹窗口104处于自由排列状态,因此项表示114’和118’将被简单地放在其当前位置,在它们之间有某个固定的间距。如图1Q中所示,如果项表示被放到文件夹窗口104中其当前位置,项表示可能与文件夹窗口104中已有的项重叠。
图1R说明了在用户把选择的项释放到文件夹窗口104中之前,用户可以通过在预览状态下在其展开配置中移动项表示,来调整项表示114’和118’的当前位置。例如,如图1R中所示,项表示可以在它们处于展开状态时整体移动,直到找到合适的位置(例如,当项表示114’和118’不再与文件夹窗口104中已有的项表示112和116重叠时)。
在用户把选择的项释放到文件夹窗口104中之后,项可以被示出为安放到如前面在预览中所示出的其各自的位置。如图1S中所示,项表示114’和118’已经从半透明状态变成不透明状态并且安放在其在预览中所示的最终位置,而且在图1S中,项现在是由项表示114和118来表示的。项可以示出为从应用窗口108中除去,而且项表示110’’’可以在屏幕中向上移动并且在应用窗口108中显示。
在有些实现中,如图1A-1S中所说明的,项表示的群集在指针的当前位置附近显示,但不与指针的当前位置重叠。当指针在用户界面中移动时及当指针在用户界面上的一个区域之上逗留时,在指点设备的当前位置与项表示之间保持间隙或距离。通过保持项表示与指针之间的距离或者间隙,项表示可以保持不接触位于指针当前位置正下方和/或紧紧包围指针当前位置的区域,因而在决定把项移动或放到那个位置之前用户可以更好地看到该区域。
以上例子仅仅是说明性的。尽管示出了事件的特定序列,但是,如本领域技术人员可以很容易理解的,项的选择、容器窗口的观看配置以及指针从一个位置到另一个位置的移动可以有许多变化。
在有些实现中,如以上例子中所说明的,每个源容器对象(例如,图1A中的文件夹窗口104和图1M中的应用窗口108)可以为在源容器内显示的项表示定义一种或多种外观样式。当发生不同的触发事件时,不同的外观样式可以被触发并应用到项表示。示例性的触发事件可以是项表示在容器对象中既定位置之上的逗留、项表示根据既定运动模式或者在既定方向上的移动、改变与容器对象关联的当前外观样式的用户输入,等等。
在有些实现中,每个源容器还可以为项表示定义一种或多种当项表示移出源容器对象并且移到不合格的降落目标容器的区域之上时的外观样式。当项表示在不同的不合格降落目标容器之上时,源容器可以为项表示定义不同的外观样式。
在有些实现中,每个潜在的降落目标容器也可以定义一种或多种当项表示移到潜在降落目标容器的降落区中时的外观样式。每种外观样式也可以具有不同的触发事件,而且当检测到特定外观样式的触发事件时,与该触发事件关联的外观样式可以应用到已经进入潜在降落目标容器的降落区的项表示。在以上的例子中,在图1F中示出的群集124中项表示的列表视图外观和在图1O中示出的群集134中项表示的大图标外观是应用到项表示的外观样式的例子。
在有些实现中,每种外观样式可以为项表示规定一个或更多个层。每一层可以对应于项表示的一个分量(例如,图标图像、文字标签等)。每一层可以具有控制该层的位置、尺寸、颜色和其它外观属性的一个或更多个关联属性。每一层还可以与控制当项表示从一种外观变成另一种外观时分量的动画样式的属性关联。与项表示的不同层关联的属性可以彼此不同。
在有些实现中,由不同容器对象提供的外观样式可以具有不同数量的层。每一层还可以与规定当项表示根据不同的外观样式改变其外观时可以如何从项表示引入或除去层的属性关联。例如,文字标签层可以具有规定文字标签可以如何添加到项表示的动画样式(例如,弹出、淡入、从左边滑入等)的关联属性。对于另一个例子,文字标签层可以具有规定可以如何从项表示除去文字标签的动画样式(例如,淡出、闪出、向右边滑出等)的另一个关联属性。
每个源容器对象还可以为当前在该容器对象中和/或在不合格的降落目标之上的指针附近呈现的项表示定义一种或多种队形样式。队形的例子可以是容器中项表示的自由排列布局、在指针当前位置附近显示的项表示的群集配置、列表中的保持排列布局、一列或多列中的保持排列布局,等等。类似地,每个潜在的降落目标容器也可以为项表示定义一种或多种在项表示进入该潜在降落目标容器的降落区时的队形样式。例如,在潜在降落目标容器中各自预期位置附近示出项表示的预览队形可以根据由该潜在降落目标容器规定的队形样式来实现。
如这里所描述的,与每个容器对象关联的外观样式和队形样式可以由容器对象根据API来规定。项表示的不同外观和项表示集合的不同队形可以由操作系统根据相关源容器对象和/或潜在降落目标容器的不同外观样式和队形样式来生成。操作系统可以基于与不同外观样式和队形样式关联的哪些触发事件当前存在或者被操作系统检测到来确定哪种外观样式和/或队形样式要应用到项表示。显示从一种外观到另一种外观和从一种队形到另一种队形的转变的动画可以由操作系统根据与外观样式和队形样式关联的属性呈现。
用于在用户界面中拖放项的示例性过程
图2A是响应对所选项的操作(例如,拖拽操作)的启动用于使所选项的表示在指针当前位置附近形成群集的示例性过程200的流程图。
在示例性过程200中,接收输入(202)。输入可以是在用户界面中对一个或更多个所选择的项启动操作(例如,拖拽操作)的指针移动。响应该输入,操作系统可以使得呈现动画。在该动画中,一个或更多个所选项的各自表示可以从用户界面中这些项的各自原始位置朝用户界面中指针的当前位置移动并且在指针的当前位置附近形成群集(204)。
在有些实现中,群集包括以堆叠排列的一个或更多个所选项的表示。在有些实现中,群集是可展开的,以响应既定的输入命令而显示所选项的各个单独表示。在有些实现中,用户界面中项表示的运动是异步的。
在有些实现中,在示例性过程200中,操作系统可以使计数指示器在群集附近呈现,该计数指示器显示群集中项表示的计数。
在有些实现中,用户界面中的指针是触摸敏感显示器上的手指或触控笔。在有些实现中,用户界面中的指针是鼠标、轨迹球的光标,触摸敏感表面上的手指或触控笔。在有些实现中,项表示的各自位置在群集中既定的范围内是独立可变的。
图2B是用于使群集中所选项的表示跟随指针的持续移动的示例性过程210的流程图。在示例性过程210中,可以检测在用户界面中拖拽一个或更多个所选项的指针的持续移动(212)。响应于该持续移动,操作系统可以动画显示项表示的群集跟随指针的持续移动(214)。
在有些实现中,在跟随指针的持续移动的同时,群集中的每个项表示可以沿着与该群集中其它项表示的各自路径独立的路径移动。在有些实现中,在跟随指针的持续移动的同时,群集中的每个项表示都可以与该群集中其它项表示以不同的速度移动。
图3是用于在项表示的群集移动到与一不同外观样式关联的容器的时候改变项表示的外观的示例性过程300的流程图。
在有些实现中,在用户界面中从第一容器选择一个或更多个项,而且每个项的表示具有与第一容器关联的各自第一外观。在过程300中,可以检测指针的当前位置位于用户界面中第二容器的降落区中(302)。在指针的当前位置保持在第二容器的降落区中的时候,操作系统可以使所选项的表示采用各自的第二外观,其中,各自的第二外观类似于如果这些项要放到第二容器中的话项表示的各自的预期外观(304)。
在有些实现中,第一容器和第二容器中的每一个都是桌面或者桌面上的窗口,第一容器和第二容器中的每一个分别与大图标视图、小图标视图、列表视图、列视图或者图片视图关联,而且每种视图都处于自由排列状态或者保持排列状态。
在有些实现中,第一容器和第二容器中的至少一个是应用窗口而且该应用窗口可操作成在该应用定义的视图中呈现所选项。在有些实现中,所选项的应用定义视图是通过与用户界面关联的应用编程接口(API)定义的。
图4A是用于示出项表示在潜在目标容器中其各自预期位置处的预览的示例性过程400的流程图。
在示例性过程400中,可以检测请求项的表示在第二容器中被放下的预览的输入(402)。响应于检测到该输入,操作系统可以动画显示所选项的表示脱离群集并且朝它们在第二容器中的各自预期位置移动,其中各自的预期位置是如果该项要放到第二容器中的话这些表示将具有的位置(404)。在有些实现中,请求预览的输入是指针在第二容器的降落区之上延长的逗留。
在有些实现中,所选项的表示在这些项的各自预期位置或者其附近显示为相应的半透明覆层。
在有些实现中,所选项中至少一个的预期位置是在第二容器的在用户界面中当前不可见的区域中,而且这至少一个项的表示脱离群集并且沿用户界面中的相应路径移动到第二容器的不可见区域中。
图4B是用于在潜在的目标容器中放下所选项的示例性过程410的流程图。
在示例性过程410中,可以检测把一个或更多个所选项释放到第二容器降落区中的输入(412)。响应于该释放输入,操作系统可以使一个或更多个所选项插入第二容器中所选项的各自预期位置(414)。
在有些实现中,对于其各自预期位置在第二容器可见区域中的项表示,当项插入到该项相应的预期位置完成之后,项表示可以从半透明状态变成不透明状态。
图5是用于在预览之后从潜在目标容器移开而不把所选项放到潜在目标容器中的示例性过程500的流程图。
在示例性过程500中,可以检测指针离开第二容器的移动(502)。响应于离开第二容器的移动,操作系统可以动画显示这一个或更多个所选项的各自表示从这些项在第二容器中的各自预期位置朝指针当前位置移动并且在指针当前位置的附近重新加入群集(504)。
图6是用于确定是否要呈现项表示在潜在目标容器中其预期位置的预览的示例性过程600的流程图。
在示例性过程600中,操作系统可以监视指针在用户界面中拖拽一个或更多个所选项的表示的运动特征(602)。当确定指针在第二容器降落区之上的运动特征满足既定的标准时,操作系统可以使所选项的表示采用各自的第二外观(604)。在有些实现中,指针的运动特征是指针的速度和加速度中的一个或更多个,而且既定的标准规定将使项的表示采用其各自第二外观的速度或加速度的特征值。在有些实现中,速度或加速度的特征值是用户规定的值。
图7是用于在项从一个容器被拖到另一个容器时改变项表示的外观的示例性过程700的流程图。
在示例性过程700中,可以接收把一个或更多个所选项的各自表示从第一容器拖到第二容器的降落区中的输入,其中各个项的各自的表示都具有与第一容器关联的各自的第一外观(702)。在这一个或更多个所选项的各自表示至少部分地处于第二容器的降落区中的时候,操作系统可以使所选项的表示采用各自的第二外观,其中各自的第二外观模拟如果该项要放到第二容器中的话该项表示的预期外观(704)。
在有些实现中,各个项的各自的第一外观是由第一容器通过应用编程接口(API)定义的,而各个项的各自的第二外观是由第二容器通过API定义的。
在有些实现中,每个项的表示都包括用于该项的第一和第二外观中至少一个的两个或多个层,而且一个或更多个所选项的各自的表示可以用动画显示,来说明从项的第一外观到项的第二外观的各自转变,其中各自的动画对两个或多个层中的每一层执行,以便说明这种转变。
在有些实现中,这两个或多个层中的每一层都关联有用于对该层执行的相应动画的相应动画样式。
在有些实现中,在一个或更多个所选项的各自表示至少部分地位于不合格的降落目标的区域中的时候,可以使所选项的表示采用与第一容器关联的各自的第三外观。在有些实现中,各自的第三外观是由第一容器通过应用编程接口(API)定义的。
在有些实现中,当以其各自的第一外观显示时,所选项的各自表示处于第一队形中,而当以其各自的第二外观显示时,所选项的各自表示处于第二队形中,其中第一队形是由第一容器通过应用编程接口(API)定义的,而第二队形是由第二容器通过API形成的。
以上过程仅仅是例子。以上过程的各种组合都是可能的。
示例性软件体系结构
图8A是用于实现参考图1-7所描述的过程和用户界面的示例性软件体系结构。在有些实现中,实现这些过程的程序模块可以是栈或软件体系结构中的框架的一部分。示例性软件栈800可以包括应用层802、框架层804、服务层806、OS层808和硬件层810。应用(例如,电子邮件、文字处理、文本消息等)可以结合有到可访问性API的功能钩子(functionhook)。框架层804可以包括拖放UI修改引擎812。拖放UI修改引擎812可以对服务层806或OS层808中的图形服务或库进行API调用,以执行参考图1-7所描述的全部或者一些任务。拖放UI修改引擎812还可以对应用层802进行API调用,以获得定义显示对象所必需的信息,并且根据本说明书中所公开的描述确定该显示对象的位置和内容区域。拖放UI修改引擎812还可以对服务层806或OS层808中的服务或库(例如,文本服务)进行API调用,以执行其全部或一些任务。
服务层806可以提供各种图形、动画和UI服务,来支持拖放UI修改引擎812的图形功能和应用层802中的应用(例如,电子邮件编辑器应用)。在有些实现中,服务层806还可以包括用于把来自触摸敏感设备的原始触摸数据解释并映射成触摸事件(例如,手势、旋转)的触摸模型,这种触摸事件可以由应用利用在触摸模型API中定义的调用惯例来访问。服务层806还可以包括用于无线通信的通信软件栈。
OS层808可以是完整的操作系统(例如,MACOS)或者内核(例如,UNIX内核)。硬件层810包括执行参考图1-7所描述的任务所必需的硬件,包括但不限于:处理器或处理核(包括应用和通信基带处理器)、专用信号/图像处理器、ASIC、图形处理器(例如,GNU)、存储器与存储设备、通信端口与设备、外围设备,等等。
在有些实现中,可以使用一种或多种应用编程接口(API)。API是由程序代码部件或硬件部件(下文中称为“API实现部件”)实现的接口,其允许不同的程序代码部件或硬件部件(下文中称为“API调用部件”)访问并使用由API实现部件提供的一个或更多个函数、方法、过程、数据结构、类和/或其它服务。API可以定义在API调用部件与API实现部件之间传递的一个或更多个参数。
API允许API调用部件的开发者(这可以是第三方开发者)充分利用(leverage)由API实现部件提供的规定特征。可以有一个API调用部件或者可以有多于一个这种部件。API可以是为了支持对来自应用的服务请求而由计算机系统或程序库提供的源代码接口。操作系统(OS)可以有多个API来允许运行在该OS上的应用调用那些API中的一个或更多个,而且服务(例如程序库)可以有多个API来允许使用该服务的应用调用那些API中的一个或更多个。API可以用在建立应用时可以被解释或编译的编程语言来规定。
在有些实现中,API实现部件可以提供多于一个API,每个API提供访问由API实现部件所实现的功能性的不同方面的不同视图或者具有不同方面。例如,API实现部件的一个API可以提供第一组功能而且可以暴露给第三方开发者,而该API实现部件的另一个API可以是隐藏(不暴露)的并且提供第一组功能的子集而且还提供不在第一组功能中的另一组功能,例如测试或调试功能。在其它实现中,API实现部件自己本身可以经下层API调用一个或更多个其它部件,因此既是API调用部件又是API实现部件。
API定义了当访问和使用API实现部件的规定特征时API调用部件所使用的语言和参数。例如,API调用部件通过由API暴露的一个或更多个(例如由函数或方法调用所体现的)API调用或启用访问API实现部件的规定特征并且经由API调用或启用利用参数传递数据和控制信息。响应于来自API调用部件的API调用,API实现部件可以通过API返回值。尽管API定义了API调用的语法和结果(例如,如何启用API调用和该API调用做什么),但是API可能没有显露API调用如何实现由该API调用规定的功能。各种API调用经由一个或更多个应用编程接口在调用(API调用部件)和API实现部件之间传送。传送API调用可以包括发布、启动、启用、调用、接收、返回或者响应函数调用或消息;换句话说,传送可以描述由API调用部件或API实现部件所进行的动作。API的函数调用或者其它启用可以通过参数列表或其它结构发送或接收一个或更多个参数。参数可以是常量、键值、数据结构、对象、对象类、变量、数据类型、指针、数组、列表、或者到引用要经该API传递的数据或其它项的函数或方法或别的途径的指针。
此外,数据类型或类可以由API提供并且由API实现部件实现。因而,API调用部件可以声明变量、使用指向变量的指针、通过使用API中提供的定义来使用或者实例化这种类型或类的常量值。
总的来说,API可以用于访问由API实现部件提供的服务或数据或者启动由API实现部件提供的操作或计算的执行。作为例子,API实现部件和API调用部件可以每个都是操作系统、库、设备驱动器、API、应用程序或其它模块中的任意一种(应当理解,API实现部件和API调用部件可以是彼此相同或不同类型的模块)。在有些情况下,API实现部件可以至少部分地以固件、微代码或其它硬件逻辑体现。在有些实现中,API可以允许客户端程序使用由软件开发包(SDK)库提供的服务。在其它实现中,应用或其它客户端程序可以使用由应用框架提供的API。在这些实现中,应用或客户端程序可以结合对由SDK提供的和由API提供的函数或方法的调用,或者使用在SDK中定义并由API提供的数据类型或对象。在这些实现中,应用框架可以为程序提供响应由该框架定义的各种事件的主事件循环。API允许应用规定事件并且利用该应用框架响应这些事件。在有些实现中,API调用可以向应用报告硬件设备的能力或状态,包括关于诸如输入能力与状态、输出能力与状态、处理能力、功率状态、存储能力与状态、通信能力等方面的那些能力或状态,而且API可以部分地由固件、微代码、或者部分地在硬件部件上执行的其它低级逻辑实现。
API调用部件可以是本地部件(即,在与API实现部件相同的数据处理系统上)或者是经网络通过API与API实现部件通信的远端部件(即,在与API实现部件不同的数据处理系统上)。应当理解,API实现部件也可以充当API调用部件(即,它可以对由不同API实现部件暴露的API进行API调用),而且API调用部件也可以通过实现暴露给不同API调用部件的API来充当API实现部件。
API可以允许多个以不同编程语言编写的API调用部件与API实现部件通信(因而,API可以包括用于在API实现部件与API调用部件之间翻译调用和返回的特征);但是,API可以用特定的编程语言来实现。在一种实施方式中,API调用部件可以调用来自不同提供者的API,例如来自OS提供者的一组API和来自插件提供者的另一组API及来自另一个提供者(例如,软件库的提供者)或另一组API的创建者的另一组API。
图8B是说明示例性API体系结构的框图,该体系结构可以在本文公开的一些过程和用户界面变化的实现中使用。如图8B中所示,API体系结构820包括实现API824的API实现部件822(例如,操作系统、库、设备驱动器、API、应用程序、软件或其它模块)。API824规定可以由API调用部件826使用的API实现部件的一个或更多个函数、方法、类、对象、协议、数据结构、格式和/或其它特征。API824可以规定至少一种调用惯例,该惯例规定API实现部件中的函数如何从API调用部件接收参数以及该函数如何向API调用部件返回结果。API调用部件826(例如,操作系统、库、设备驱动器、API、应用程序、软件或其它模块)通过API824进行API调用,来访问并使用由API824规定的API实现部件822的特征。响应于API调用,API实现部件822可以通过API824向API调用部件826返回值。
应当认识到,API实现部件822可以包括没有通过API824规定的而且API调用部件826不可用的附加函数、方法、类、数据结构和/或其它特征。应当理解,API调用部件826可以与API实现部件822在相同的系统上或者可以位于远端并且经网络利用API824访问API实现部件822。尽管图8B说明了与API824交互的单个API调用部件826,但是应当理解,用与API调用部件826不同的语言(或者相同的语言)编写的其它API调用部件也可以使用API824。
API实现部件822、API824和API调用部件826可以存储在机器可读介质中,该介质包括用于以机器(例如,计算机或者其它数据处理系统)可读的形式存储信息的任何机制。例如,机器可读介质包括磁盘、光盘、随机存取存储器、只读存储器、闪存存储器设备等。
在图8C中(“软件栈”830)示出了一种示例性实现,其中应用可以利用几个服务API(服务APIA和服务APIB)对服务A832或服务B834进行调用并且利用几个操作系统(OS)API对OS836进行调用。服务A832和服务B834可以利用几个OSAPI对OS836进行调用。
应当指出,服务B834有两个API,其中一个(服务BAPIA838)从应用A840接收调用并且向其返回值,而另一个(服务BAPIB842)从应用B844接收调用并且向其返回值。服务A832(它可以是例如软件库)对OSAPIA846进行调用并从其接收返回值,而服务B834(它可以是例如软件库)对OSAPIA846和OSAPIB848都进行调用并从其接收返回值。应用B844对OSAPIB848进行调用并从其接收返回值。
示例性移动设备体系结构
图9是实现参考图1-8所述的拖放UI修改过程和接口的设备的示例性硬件体系结构的框图。设备可以包括存储器接口902、一个或更多个数据处理器、图像处理器和/或处理器904、及外围设备接口906。存储器接口902、一个或更多个处理器904和/或外围设备接口906可以是独立的部件或者可以在一个或更多个集成电路中集成。例如,设备中的各个部件可以由一根或多根通信总线或信号线耦合。
传感器、设备和子系统可以耦合到外围设备接口906,以方便多种功能。例如,运动传感器910、光传感器912和接近传感器914可以耦合到外围设备接口906,以方便移动设备的定向、照明和接近功能。位置处理器915(例如,GPS接收器)可以连接到外围设备接口906,以提供地理定位。电子磁强计916(例如,集成电路芯片)也可以连接到外围设备接口906,以提供可用于确定磁北极的方向的数据。因而,电子磁强计916可以用作电子指南针。加速度计917也可以连接到外围设备接口906,以提供可以用于确定移动设备的移动速度和方向变化的数据。
照相机子系统920和光学传感器922,例如电荷耦合器件(CCD)或者互补金属氧化物半导体(CMOS)光学传感器,可以用于方便照相机功能,例如记录照片和视频剪辑。
通信功能可以通过一个或更多个无线通信子系统924来促进,这些通信子系统可以包括射频接收器与发送器和/或光(例如,红外线)接收器与发送器。通信子系统924的具体设计与实现可以依赖于移动设备要在其上操作的通信网络。例如,移动设备可以包括设计成在GSM网络、GPRS网络、EDGE网络、Wi-Fi或WiMax网络、和蓝牙网络上操作的通信子系统924。特别地,无线通信子系统924可以包括宿主协议(hostingprotocol),使得移动设备可以配置成为用于其它无线设备的基站。
音频子系统926可以耦合到扬声器928和麦克风930,以方便语音使能的功能,例如语音识别、语音复制、数字记录和电话功能。
I/O子系统940可以包括触摸屏控制器942和/或其它输入控制器944。触摸屏控制器942可以耦合到触摸屏946或者触摸板。触摸屏946和触摸屏控制器942可以例如利用多种触摸敏感技术中的任意一种来检测接触和移动或者其中断,包括但不限于电容式、电阻式、红外线和表面声波技术,及用于确定与触摸屏946的一个或更多个接触点的其它接近传感器阵列或者其它元件。
其它输入控制器944可以耦合到其它输入/控制设备948,例如一个或更多个按钮、摇杆开关、拇指滚轮、红外线端口、USB端口和/或例如触控笔的指点设备。一个或更多个按钮(未示出)可以包括用于扬声器928和/或麦克风930的音量控制的上/下按钮。
在一种实现中,按钮按下第一持续时间可以解开触摸屏946的锁定;而按钮按下比第一持续时间长的第二持续时间可以接通或断开设备的电源。用户可能能够定制一个或更多个按钮的功能。触摸屏946还可以例如用于实现虚拟或软按钮和/或键盘。
在有些实现中,设备可以呈现所记录的音频和/或视频文件,例如MP3、AAC和MPEG文件。在有些实现中,设备可以包括MP3播放器(例如iPodTM)的功能。因此,设备可以包括与iPod兼容的引脚连接器。其它的输入/输出和控制设备也可以使用。
存储器接口902可以耦合到存储器950。存储器950可以包括高速随机存取存储器和/或非易失性存储器,例如一个或更多个磁盘存储设备、一个或更多个光存储设备和/或闪存存储器(例如,NAND、NOR)。存储器950可以存储操作系统952,例如Darwin、RTXC、LINUX、UNIX、OSX、WINDOWS,或者例如VxWorks的嵌入式操作系统。操作系统952可以包括用于处理基本系统服务和用于执行依赖硬件的任务的指令。在有些实现中,操作系统952可以包括内核(例如,UNIX内核)。
存储器950还可以存储通信指令954,以方便与一个或更多个附加设备、一台或多台计算机和/或一台或多台服务器通信。存储器950可以包括方便图形用户界面处理的图形用户界面指令956;方便与传感器相关的处理与功能的传感器处理指令958;方便与电话相关的过程与功能的电话指令960;方便与电子消息相关的过程与功能的电子消息指令962;方便与网络浏览相关的过程与功能的网络浏览指令964;方便与媒体处理相关的过程与功能的媒体处理指令966;方便与GPS和导航相关的过程与功能的GPS/导航指令968;及方便与照相机相关的过程与功能的照相机指令970。存储器950还可以存储其它软件指令(未示出),例如安全性指令、方便与网络视频相关的过程与功能的网络视频指令、和/或方便与网络购物相关的过程与功能的网络购物指令。在有些实现中,媒体处理指令966被分成分别方便与音频处理相关的过程与功能及与视频处理相关的过程与功能的音频处理指令和视频处理指令。激活记录和国际移动设备识别码(IMEI)或类似的硬件标识符也可以存储在存储器950中。存储器950还可以包括其它指令972。
以上列出的指令与应用中的每一个都可以对应于用于执行上述一个或更多个功能的一组指令。这些指令不需要实现为单独的软件程序、过程或模块。存储器950可以包括附加的指令或更少的指令。此外,移动设备的各种功能可以在硬件和/或在软件中实现,包括在一个或更多个信号处理和/或专用集成电路中实现。
所描述的特征可以在数字电子电路中或者在计算机硬件、固件、软件或者其组合中实现。这些特征可以在有形地体现在信息载体中的(例如机器可读存储设备中的)用于由可编程处理器执行的计算机程序产品中实现;而且方法步骤可以由执行指令程序的可编程处理器执行,以便通过操作输入数据和生成输出来执行所描述的实现的功能。
所描述的特征可以有利地在可以在可编程系统上执行的一个或更多个计算机程序中实现,其中可编程系统包括耦合成从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令并且向其发送数据和指令的至少一个可编程处理器。计算机程序是可以直接地或者间接地在计算机中用于执行特定行为或者导致特定结果的一组指令。计算机程序可以用任何形式的编程语言来编写(例如,面向对象的C、Java),包括编译或解释性语言,而且可以按任何形式部署,包括作为独立的程序或者作为模块、部件、子例程或适于在计算环境中使用的其它单元。
作为例子,用于指令程序的执行的合适处理器包括通用和专用微处理器,以及包括任何类型计算机的唯一处理器或者多个处理器或核中的一个。总的来说,处理器将从只读存储器或随机存取存储器或者二者接收指令与数据。计算机的基本元件是用于执行指令的处理器和用于存储指令与数据的一个或更多个存储器。总的来说,计算机还将包括用于存储数据文件的一个或更多个大容量存储设备,或者可操作耦合成与其通信;此类设备包括磁盘,诸如内部硬盘和可移动盘;磁光盘;及光盘。适于有形地体现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,作为例子,包括半导体存储器设备,例如EPROM、EEPROM和闪存存储器设备;磁盘,诸如内部硬盘和可移动盘;磁光盘;及CD-ROM和DVD-ROM盘。处理器和存储器可以由ASIC(专用集成电路)补充或者结合在ASIC中。
为了提供与用户的交互,可以在具有用于向用户显示信息的诸如CRT(阴极射线管)或LCD(液晶显示器)的显示设备和用户可以通过其向计算机提供输入的键盘、鼠标或轨迹球、或者指点设备(例如,触摸敏感表面或触摸敏感显示器上的手指或触控笔)的计算机上实现特征。
可以在包括后端部件的的计算机系统(诸如数据服务器)中、或者包括中间件部件的计算机系统(诸如应用服务器或互联网服务器)中、或者包括前端部件的计算机系统(例如具有图形用户界面或互联网浏览器的客户端计算机)中、或者其任意组合中实现所述特征。系统的部件可以由任何形式或介质的数字数据通信(诸如通信网络)来连接。通信网络的例子包括例如LAN、WAN,及构成互联网的计算机与网络。
计算机系统可以包括客户端与服务器。客户端与服务器通常彼此远离而且一般是通过网络来交互。客户端与服务器的关系依靠运行在各自计算机上并且彼此具有客户端-服务器关系的计算机程序来发生。
在此所公开的一个或更多个特征或步骤可以利用API来实现。API可以定义在调用应用与提供服务、提供数据或者执行操作或计算的其它软件代码(例如,操作系统、库例程、函数)之间传递的一个或更多个参数。
API可以基于在API规范文档中定义的调用惯例通过参数列表或其它结构实现为程序代码中发送或接收一个或更多个参数的一个或更多个调用。参数可以是常量、键值、数据结构、对象、对象类、变量、数据类型、指针、数组、列表或者另一个调用。API调用和参数可以在任何编程语言中实现。编程语言可以定义编程人员将用来访问支持API的功能的词汇表和调用惯例。
在有些实现中,API调用可以向应用报告运行该应用的设备的能力,诸如输入能力、输出能力、处理能力、功率能力、通信能力等。
已经描述了多种实现。不过,应当理解,可以进行各种修改。例如,一种或多种实现的元素可以组合、删除、修改或者补充,以形成进一步的实现。作为另一个例子,为了实现期望的结果,图中所绘出的逻辑流程不必须是所示出的特定次序或者顺序次序。此外,可以为所描述的流程提供其它的步骤,或者可以从中去掉一些步骤,而且其它部件可以添加到所描述的系统,或者可以从中除去一些部件。因此,其它实现也在权利要求的范围之内。
Claims (20)
1.一种管理用户界面中的项的方法,该方法包括:
在具有显示器和一个或多个输入设备的计算设备处:
在显示器上显示位于用户界面中的给定容器中的两个或更多个所选择的项的表示,所述两个或更多个所选择的项的表示在所述容器内具有空间关系;
在显示器上显示所述两个或更多个所选择的项的表示的同时,经由所述一个或多个输入设备接收第一输入,该第一输入对应于指针在所述容器内的移动;
响应于第一输入,在保持所述两个或更多个所选择的项的表示之间的空间关系的同时,根据指针在用户界面中的移动,在显示器上的用户界面中移动所述两个或更多个所选择的项的表示;
在保持所述两个或更多个所选择的项的表示之间的空间关系的同时移动所述两个或更多个所选择的项的表示之后,经由所述一个或多个输入设备接收用于将指针移动到所述容器外的第二输入;及
响应于接收到用于将指针移动到所述容器外的第二输入,在显示器上将指针移动到所述容器外,并且当指针已经移动到所述容器外时,改变所述两个或更多个所选择的项的表示之间的空间关系以在指针附近形成所述表示的群集。
2.如权利要求1所述的方法,其中当在用户界面中形成群集时,所述两个或更多个所选择的项的表示的运动是异步的。
3.如权利要求1所述的方法,还包括:
在形成群集之后,使计数指示器呈现在群集附近,该计数指示器显示群集中的项表示的计数。
4.如权利要求1所述的方法,其中,在形成群集之后,在跟随指针的持续移动时,群集中每个项表示都沿着与该群集中其它项表示的各自路径独立的路径移动。
5.如权利要求1所述的方法,还包括:
从用户界面中的第一容器中选择所述两个或更多个项,其中所述两个或更多个所选择的项的表示具有与该第一容器关联的各自的第一外观;
检测指针的当前位置在用户界面中的第二容器的降落区中;及
在指针的当前位置保持在第二容器的降落区中时,使所述两个或更多个所选择的项的表示采用与第二容器关联的各自的第二外观。
6.如权利要求5所述的方法,还包括:
检测请求所述两个或更多个所选择的项的表示在第二容器中被放下的预览的输入;及
响应于检测到该输入,动画显示所述两个或更多个所选择的项的表示脱离群集并朝着第二容器中它们各自的预期位置移动。
7.如权利要求6所述的方法,还包括:
检测指针离开第二容器的移动;及
响应于离开第二容器的移动,动画显示所述两个或更多个所选择的项的各自的表示从第二容器中所述项的各自的预期位置朝着指针的当前位置移动并且在指针的当前位置附近重新加入群集。
8.一种管理用户界面中的项的系统,包括:
一个或多个处理器;及
存储器,其上存储有指令,当所述指令被一个或多个处理器执行时,使得所述一个或多个处理器执行包括以下的操作:
在显示器上显示位于用户界面中的给定容器中的两个或更多个所选择的项的表示,所述两个或更多个所选择的项的表示在所述容器内具有空间关系;
在显示器上显示所述两个或更多个所选择的项的表示的同时,经由一个或多个输入设备接收第一输入,该第一输入对应于指针在所述容器内的移动;
响应于第一输入,在保持所述两个或更多个所选择的项的表示之间的空间关系的同时,根据指针在用户界面中的移动,在显示器上的用户界面中移动所述两个或更多个所选择的项的表示;
在保持所述两个或更多个所选择的项的表示之间的空间关系的同时移动所述两个或更多个所选择的项的表示之后,经由所述一个或多个输入设备接收用于将指针移动到所述容器外的第二输入;及
响应于接收到用于将指针移动到所述容器外的第二输入,在显示器上将指针移动到所述容器外,并且当指针已经移动到所述容器外时,改变所述两个或更多个所选择的项的表示之间的空间关系以在指针附近形成所述表示的群集。
9.如权利要求8所述的系统,其中当在用户界面中形成群集时,所述两个或更多个所选择的项的表示的运动是异步的。
10.如权利要求8所述的系统,其中,在形成群集之后,在跟随指针的持续移动时,群集中每个项表示都沿着与该群集中其它项表示的各自路径独立的路径移动。
11.如权利要求8所述的系统,其中所述操作还包括:
从用户界面中的第一容器中选择所述两个或更多个项,其中所述两个或更多个所选择的项的表示具有与该第一容器关联的各自的第一外观;
检测指针的当前位置在用户界面中的第二容器的降落区中;及
在指针的当前位置保持在第二容器的降落区中时,使所述两个或更多个所选择的项的表示采用与第二容器关联的各自的第二外观。
12.如权利要求11所述的系统,其中所述操作还包括:
检测请求所述两个或更多个所选择的项的表示在第二容器中被放下的预览的输入;及
响应于检测到该输入,动画显示所述两个或更多个所选择的项的表示脱离群集并朝着第二容器中它们各自的预期位置移动。
13.如权利要求12所述的系统,其中所述操作还包括:
检测指针离开第二容器的移动;及
响应于离开第二容器的移动,动画显示所述两个或更多个所选择的项的各自的表示从第二容器中所述项的各自的预期位置朝着指针的当前位置移动并且在指针的当前位置附近重新加入群集。
14.一种计算设备,包括:
显示器,被配置为显示用户界面,所述用户界面包括在给定容器中的两个或更多个所选择的项的表示,所述两个或更多个所选择的项的表示在所述容器内具有空间关系;
输入设备,被配置为在显示器上显示所述两个或更多个所选择的项的表示的同时接收第一输入,该第一输入对应于指针在所述容器内的移动;以及
处理器,被配置为响应于第一输入,在保持所述两个或更多个所选择的项的表示之间的空间关系的同时,根据指针在用户界面中的移动,在显示器上的用户界面中移动所述两个或更多个所选择的项的表示;
其中,所述输入设备还被配置为在保持所述两个或更多个所选择的项的表示之间的空间关系的同时移动所述两个或更多个所选择的项的表示之后,接收用于将指针移动到所述容器外的第二输入;并且
所述处理器还被配置为响应于接收到用于将指针移动到所述容器外的第二输入,在显示器上将指针移动到所述容器外,并且当指针已经移动到所述容器外时,改变所述两个或更多个所选择的项的表示之间的空间关系以在指针附近形成所述表示的群集。
15.如权利要求14所述的计算设备,其中当在用户界面中形成群集时,所述两个或更多个所选择的项的表示的运动是异步的。
16.如权利要求14所述的计算设备,其中所述处理器还被配置为:
在形成群集之后,使计数指示器呈现在群集附近,该计数指示器显示群集中的项表示的计数。
17.如权利要求14所述的计算设备,其中,在形成群集之后,在跟随指针的持续移动时,群集中每个项表示都沿着与该群集中其它项表示的各自路径独立的路径移动。
18.如权利要求14所述的计算设备,其中,所述两个或更多个项是从用户界面中的第一容器中选择的,而且所述两个或更多个所选择的项的表示具有与该第一容器关联的各自的第一外观,并且所述处理器还被配置为:
检测指针的当前位置在用户界面中的第二容器的降落区中;及
在指针的当前位置保持在第二容器的降落区中时,使所述两个或更多个所选择的项的表示采用与第二容器关联的各自的第二外观。
19.如权利要求18所述的计算设备,其中所述处理器还被配置为:
检测请求所述两个或更多个所选择的项的表示在第二容器中被放下的预览的输入;及
响应于检测到该输入,动画显示所述两个或更多个所选择的项的表示脱离群集并朝着第二容器中它们各自的预期位置移动。
20.如权利要求19所述的计算设备,其中所述处理器还被配置为:
检测指针离开第二容器的移动;及
响应于离开第二容器的移动,动画显示所述两个或更多个所选择的项的各自的表示从第二容器中所述项的各自的预期位置朝着指针的当前位置移动并且在指针的当前位置附近重新加入群集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610223912.4A CN105930064B (zh) | 2010-09-30 | 2011-09-29 | 管理用户界面中的项的方法和系统以及计算设备 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/895,770 | 2010-09-30 | ||
US12/895,770 US9323442B2 (en) | 2010-09-30 | 2010-09-30 | Managing items in a user interface |
PCT/US2011/053901 WO2012044779A1 (en) | 2010-09-30 | 2011-09-29 | Managing items in a user interface |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610223912.4A Division CN105930064B (zh) | 2010-09-30 | 2011-09-29 | 管理用户界面中的项的方法和系统以及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103189828A CN103189828A (zh) | 2013-07-03 |
CN103189828B true CN103189828B (zh) | 2016-03-02 |
Family
ID=44789630
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180053318.0A Active CN103189828B (zh) | 2010-09-30 | 2011-09-29 | 管理用户界面中的项的方法和系统以及计算设备 |
CN201610223912.4A Active CN105930064B (zh) | 2010-09-30 | 2011-09-29 | 管理用户界面中的项的方法和系统以及计算设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610223912.4A Active CN105930064B (zh) | 2010-09-30 | 2011-09-29 | 管理用户界面中的项的方法和系统以及计算设备 |
Country Status (8)
Country | Link |
---|---|
US (1) | US9323442B2 (zh) |
EP (1) | EP2622445B1 (zh) |
JP (1) | JP5514371B2 (zh) |
KR (1) | KR101487632B1 (zh) |
CN (2) | CN103189828B (zh) |
AU (1) | AU2011308814B2 (zh) |
NL (1) | NL2007490C2 (zh) |
WO (1) | WO2012044779A1 (zh) |
Families Citing this family (140)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120012541A (ko) * | 2010-08-02 | 2012-02-10 | 삼성전자주식회사 | 터치 디바이스에서 폴더 운용 방법 및 장치 |
US9323442B2 (en) | 2010-09-30 | 2016-04-26 | Apple Inc. | Managing items in a user interface |
US9013488B2 (en) * | 2010-10-19 | 2015-04-21 | Apple Inc. | Grouping items in a folder |
US20120131483A1 (en) * | 2010-11-22 | 2012-05-24 | International Business Machines Corporation | Drag-and-drop actions for web applications using an overlay and a set of placeholder elements |
KR101762611B1 (ko) * | 2010-12-10 | 2017-07-28 | 삼성전자 주식회사 | 터치스크린을 구비한 휴대 단말기의 화면 표시 방법 및 장치 |
US9342569B2 (en) * | 2010-12-15 | 2016-05-17 | Sap Se | System and method of adding user interface element groups |
JP5648473B2 (ja) * | 2010-12-27 | 2015-01-07 | ソニー株式会社 | 電子機器、表示制御方法およびプログラム |
JP2012142825A (ja) * | 2011-01-05 | 2012-07-26 | Sony Corp | 情報処理装置、情報表示方法及びコンピュータプログラム |
TWI441051B (zh) * | 2011-01-25 | 2014-06-11 | Compal Electronics Inc | 電子裝置及其資訊呈現方法 |
US9753630B1 (en) | 2011-03-18 | 2017-09-05 | Amazon Technologies, Inc. | Card stack navigation |
US8479110B2 (en) * | 2011-03-20 | 2013-07-02 | William J. Johnson | System and method for summoning user interface objects |
JP5516473B2 (ja) * | 2011-03-24 | 2014-06-11 | コニカミノルタ株式会社 | 画像形成装置、表示方法および表示プログラム |
US20140181753A1 (en) * | 2011-04-26 | 2014-06-26 | Kyocera Corporation | Electronic device |
US9116607B2 (en) | 2011-05-11 | 2015-08-25 | Microsoft Technology Licensing, Llc | Interface including selectable items corresponding to single or multiple data items |
US9671954B1 (en) * | 2011-07-11 | 2017-06-06 | The Boeing Company | Tactile feedback devices for configurable touchscreen interfaces |
US8949857B2 (en) * | 2011-07-15 | 2015-02-03 | Microsoft Corporation | Value provider subscriptions for sparsely populated data objects |
KR101857571B1 (ko) * | 2011-07-19 | 2018-05-14 | 삼성전자 주식회사 | 아이템 이동 방법 및 장치 |
US9417754B2 (en) | 2011-08-05 | 2016-08-16 | P4tents1, LLC | User interface system, method, and computer program product |
US9886188B2 (en) * | 2011-08-25 | 2018-02-06 | International Business Machines Corporation | Manipulating multiple objects in a graphic user interface |
US20130086525A1 (en) * | 2011-09-30 | 2013-04-04 | Nokia Corporation | Method, Apparatus, Computer Program and User Interface |
US10248293B2 (en) * | 2011-09-30 | 2019-04-02 | Nokia Technologies Oy | Method, apparatus, computer program and user interface |
US8860763B2 (en) * | 2012-01-31 | 2014-10-14 | Xerox Corporation | Reversible user interface component |
KR101892567B1 (ko) * | 2012-02-24 | 2018-08-28 | 삼성전자 주식회사 | 단말기에서 콘텐츠 이동 방법 및 장치 |
CN102681847B (zh) * | 2012-04-28 | 2015-06-03 | 华为终端有限公司 | 触屏终端对象处理方法及触屏终端 |
WO2013169846A1 (en) | 2012-05-09 | 2013-11-14 | Yknots Industries Llc | Device, method, and graphical user interface for displaying additional information in response to a user contact |
AU2013259613B2 (en) | 2012-05-09 | 2016-07-21 | Apple Inc. | Device, method, and graphical user interface for providing tactile feedback for operations performed in a user interface |
WO2013169843A1 (en) | 2012-05-09 | 2013-11-14 | Yknots Industries Llc | Device, method, and graphical user interface for manipulating framed graphical objects |
WO2013169851A2 (en) | 2012-05-09 | 2013-11-14 | Yknots Industries Llc | Device, method, and graphical user interface for facilitating user interaction with controls in a user interface |
WO2013169875A2 (en) | 2012-05-09 | 2013-11-14 | Yknots Industries Llc | Device, method, and graphical user interface for displaying content associated with a corresponding affordance |
WO2013169842A2 (en) | 2012-05-09 | 2013-11-14 | Yknots Industries Llc | Device, method, and graphical user interface for selecting object within a group of objects |
CN104487928B (zh) | 2012-05-09 | 2018-07-06 | 苹果公司 | 用于响应于手势而在显示状态之间进行过渡的设备、方法和图形用户界面 |
WO2013169845A1 (en) | 2012-05-09 | 2013-11-14 | Yknots Industries Llc | Device, method, and graphical user interface for scrolling nested regions |
CN104471521B (zh) | 2012-05-09 | 2018-10-23 | 苹果公司 | 用于针对改变用户界面对象的激活状态来提供反馈的设备、方法和图形用户界面 |
WO2013169849A2 (en) | 2012-05-09 | 2013-11-14 | Industries Llc Yknots | Device, method, and graphical user interface for displaying user interface objects corresponding to an application |
WO2013169865A2 (en) | 2012-05-09 | 2013-11-14 | Yknots Industries Llc | Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input |
AU2013259642A1 (en) | 2012-05-09 | 2014-12-04 | Apple Inc. | Device, method, and graphical user interface for moving and dropping a user interface object |
CN106201316B (zh) | 2012-05-09 | 2020-09-29 | 苹果公司 | 用于选择用户界面对象的设备、方法和图形用户界面 |
US9246958B2 (en) * | 2012-08-02 | 2016-01-26 | Facebook, Inc. | Systems and methods for multiple photo selection |
US9785314B2 (en) * | 2012-08-02 | 2017-10-10 | Facebook, Inc. | Systems and methods for displaying an animation to confirm designation of an image for sharing |
KR101961860B1 (ko) * | 2012-08-28 | 2019-03-25 | 삼성전자주식회사 | 사용자 단말 장치 및 그 제어 방법 |
US9507912B2 (en) | 2012-08-31 | 2016-11-29 | Nuvectra Corporation | Method and system of simulating a pulse generator on a clinician programmer |
US9259577B2 (en) | 2012-08-31 | 2016-02-16 | Greatbatch Ltd. | Method and system of quick neurostimulation electrode configuration and positioning |
US8983616B2 (en) | 2012-09-05 | 2015-03-17 | Greatbatch Ltd. | Method and system for associating patient records with pulse generators |
US8812125B2 (en) | 2012-08-31 | 2014-08-19 | Greatbatch Ltd. | Systems and methods for the identification and association of medical devices |
US9594877B2 (en) | 2012-08-31 | 2017-03-14 | Nuvectra Corporation | Virtual reality representation of medical devices |
US9615788B2 (en) | 2012-08-31 | 2017-04-11 | Nuvectra Corporation | Method and system of producing 2D representations of 3D pain and stimulation maps and implant models on a clinician programmer |
US9375582B2 (en) | 2012-08-31 | 2016-06-28 | Nuvectra Corporation | Touch screen safety controls for clinician programmer |
US8761897B2 (en) | 2012-08-31 | 2014-06-24 | Greatbatch Ltd. | Method and system of graphical representation of lead connector block and implantable pulse generators on a clinician programmer |
US8903496B2 (en) | 2012-08-31 | 2014-12-02 | Greatbatch Ltd. | Clinician programming system and method |
US9180302B2 (en) | 2012-08-31 | 2015-11-10 | Greatbatch Ltd. | Touch screen finger position indicator for a spinal cord stimulation programming device |
US8868199B2 (en) | 2012-08-31 | 2014-10-21 | Greatbatch Ltd. | System and method of compressing medical maps for pulse generator or database storage |
US10668276B2 (en) | 2012-08-31 | 2020-06-02 | Cirtec Medical Corp. | Method and system of bracketing stimulation parameters on clinician programmers |
US9471753B2 (en) | 2012-08-31 | 2016-10-18 | Nuvectra Corporation | Programming and virtual reality representation of stimulation parameter Groups |
US9767255B2 (en) | 2012-09-05 | 2017-09-19 | Nuvectra Corporation | Predefined input for clinician programmer data entry |
US8757485B2 (en) | 2012-09-05 | 2014-06-24 | Greatbatch Ltd. | System and method for using clinician programmer and clinician programming data for inventory and manufacturing prediction and control |
KR20140062527A (ko) * | 2012-11-12 | 2014-05-26 | 삼성전자주식회사 | 메일 데이터 삽입영역 전환방법 및 장치 |
CN103885664B (zh) * | 2012-12-20 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 桌面文件映射方法和系统 |
CN103049272B (zh) * | 2012-12-28 | 2016-08-31 | 北京新媒传信科技有限公司 | 控件拖拽方法和装置 |
KR101958582B1 (ko) | 2012-12-29 | 2019-07-04 | 애플 인크. | 터치 입력에서 디스플레이 출력으로의 관계들 사이에서 전환하기 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스 |
EP2939095B1 (en) | 2012-12-29 | 2018-10-03 | Apple Inc. | Device, method, and graphical user interface for moving a cursor according to a change in an appearance of a control icon with simulated three-dimensional characteristics |
CN109375853A (zh) | 2012-12-29 | 2019-02-22 | 苹果公司 | 对用户界面分级结构导航的设备、方法和图形用户界面 |
KR101812329B1 (ko) | 2012-12-29 | 2017-12-26 | 애플 인크. | 콘텐츠를 스크롤할지 선택할지 결정하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스 |
EP2912542B1 (en) | 2012-12-29 | 2022-07-13 | Apple Inc. | Device and method for forgoing generation of tactile output for a multi-contact gesture |
WO2014105279A1 (en) | 2012-12-29 | 2014-07-03 | Yknots Industries Llc | Device, method, and graphical user interface for switching between user interfaces |
US9728224B2 (en) * | 2013-01-08 | 2017-08-08 | Marcus van Bavel | Video editing system user interface using virtual film equipment |
CN103970395A (zh) * | 2013-01-30 | 2014-08-06 | 腾讯科技(深圳)有限公司 | 关闭后台程序的方法和装置 |
JP5907096B2 (ja) * | 2013-03-12 | 2016-04-20 | アイシン・エィ・ダブリュ株式会社 | 情報端末装置、画像表示方法および画像表示プログラム |
CN103226473B (zh) * | 2013-04-08 | 2016-08-17 | 小米科技有限责任公司 | 一种整理图标的方法、装置和设备 |
US9535569B2 (en) * | 2013-05-23 | 2017-01-03 | Rakuten Kobo, Inc. | System and method for a home multimedia container |
TWI633461B (zh) * | 2013-09-03 | 2018-08-21 | 蘋果公司 | 用於操縱使用者介面物件之電腦實施方法、非暫時性電腦可讀儲存媒體及電子器件 |
US11068128B2 (en) | 2013-09-03 | 2021-07-20 | Apple Inc. | User interface object manipulations in a user interface |
US9531722B1 (en) | 2013-10-31 | 2016-12-27 | Google Inc. | Methods for generating an activity stream |
US20150135110A1 (en) * | 2013-11-09 | 2015-05-14 | International Business Machines Corporation | Utilizing object cloning to enable nested drag and drop |
US9614880B1 (en) | 2013-11-12 | 2017-04-04 | Google Inc. | Methods for real-time notifications in an activity stream |
US9596319B2 (en) * | 2013-11-13 | 2017-03-14 | T1V, Inc. | Simultaneous input system for web browsers and other applications |
CN103645857B (zh) * | 2013-12-27 | 2018-08-31 | 联想(北京)有限公司 | 一种控制电子设备的方法及电子设备 |
US20150193521A1 (en) * | 2014-01-09 | 2015-07-09 | Google Inc. | Methods for Generating an Activity Stream |
US9509772B1 (en) | 2014-02-13 | 2016-11-29 | Google Inc. | Visualization and control of ongoing ingress actions |
US9489685B2 (en) * | 2014-04-04 | 2016-11-08 | Hopela Inc. | Visual and spatial controls for privacy settings in a charitable giving application |
CA2947433A1 (en) | 2014-04-30 | 2015-11-05 | Michael Flynn | Mobile computing system with user preferred interactive components |
US9536199B1 (en) | 2014-06-09 | 2017-01-03 | Google Inc. | Recommendations based on device usage |
US9507791B2 (en) | 2014-06-12 | 2016-11-29 | Google Inc. | Storage system user interface with floating file collection |
US10078781B2 (en) | 2014-06-13 | 2018-09-18 | Google Llc | Automatically organizing images |
CN106462340B (zh) | 2014-06-27 | 2019-09-13 | 苹果公司 | 尺寸减小的用户界面 |
CN110072131A (zh) | 2014-09-02 | 2019-07-30 | 苹果公司 | 音乐用户界面 |
TWI582641B (zh) | 2014-09-02 | 2017-05-11 | 蘋果公司 | 按鈕功能性 |
US20160062571A1 (en) | 2014-09-02 | 2016-03-03 | Apple Inc. | Reduced size user interface |
WO2016036509A1 (en) | 2014-09-02 | 2016-03-10 | Apple Inc. | Electronic mail user interface |
US10664488B2 (en) | 2014-09-25 | 2020-05-26 | Oracle International Corporation | Semantic searches in a business intelligence system |
US10417247B2 (en) | 2014-09-25 | 2019-09-17 | Oracle International Corporation | Techniques for semantic searching |
US10516980B2 (en) | 2015-10-24 | 2019-12-24 | Oracle International Corporation | Automatic redisplay of a user interface including a visualization |
US9870420B2 (en) | 2015-01-19 | 2018-01-16 | Google Llc | Classification and storage of documents |
US10048757B2 (en) | 2015-03-08 | 2018-08-14 | Apple Inc. | Devices and methods for controlling media presentation |
US10095396B2 (en) | 2015-03-08 | 2018-10-09 | Apple Inc. | Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object |
US9645732B2 (en) | 2015-03-08 | 2017-05-09 | Apple Inc. | Devices, methods, and graphical user interfaces for displaying and using menus |
US9632664B2 (en) | 2015-03-08 | 2017-04-25 | Apple Inc. | Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback |
US9990107B2 (en) | 2015-03-08 | 2018-06-05 | Apple Inc. | Devices, methods, and graphical user interfaces for displaying and using menus |
US9785305B2 (en) | 2015-03-19 | 2017-10-10 | Apple Inc. | Touch input cursor manipulation |
US9639184B2 (en) | 2015-03-19 | 2017-05-02 | Apple Inc. | Touch input cursor manipulation |
US20170045981A1 (en) | 2015-08-10 | 2017-02-16 | Apple Inc. | Devices and Methods for Processing Touch Inputs Based on Their Intensities |
US10152208B2 (en) | 2015-04-01 | 2018-12-11 | Apple Inc. | Devices and methods for processing touch inputs based on their intensities |
US10739939B2 (en) | 2015-04-28 | 2020-08-11 | International Business Machines Corporation | Control of icon movement on a graphical user interface |
US9860451B2 (en) | 2015-06-07 | 2018-01-02 | Apple Inc. | Devices and methods for capturing and interacting with enhanced digital images |
US9674426B2 (en) | 2015-06-07 | 2017-06-06 | Apple Inc. | Devices and methods for capturing and interacting with enhanced digital images |
US9830048B2 (en) | 2015-06-07 | 2017-11-28 | Apple Inc. | Devices and methods for processing touch inputs with instructions in a web page |
US9891811B2 (en) | 2015-06-07 | 2018-02-13 | Apple Inc. | Devices and methods for navigating between user interfaces |
CA2987696A1 (en) * | 2015-06-07 | 2016-12-15 | Wix.Com Ltd | System and method for the generation of an adaptive user interface in a website building system |
US10200598B2 (en) | 2015-06-07 | 2019-02-05 | Apple Inc. | Devices and methods for capturing and interacting with enhanced digital images |
US10346030B2 (en) | 2015-06-07 | 2019-07-09 | Apple Inc. | Devices and methods for navigating between user interfaces |
US10416800B2 (en) | 2015-08-10 | 2019-09-17 | Apple Inc. | Devices, methods, and graphical user interfaces for adjusting user interface objects |
US9880735B2 (en) | 2015-08-10 | 2018-01-30 | Apple Inc. | Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback |
US10235035B2 (en) | 2015-08-10 | 2019-03-19 | Apple Inc. | Devices, methods, and graphical user interfaces for content navigation and manipulation |
US10248308B2 (en) | 2015-08-10 | 2019-04-02 | Apple Inc. | Devices, methods, and graphical user interfaces for manipulating user interfaces with physical gestures |
CN105205108A (zh) * | 2015-08-27 | 2015-12-30 | 北京金山安全软件有限公司 | 一种文件夹的解散方法及装置 |
CN107224720B (zh) * | 2016-03-25 | 2019-04-30 | 网易(杭州)网络有限公司 | 拖拽式管理队伍的方法、装置及触控设备 |
US20170322695A1 (en) * | 2016-05-04 | 2017-11-09 | Icebox, Inc. | Methods and systems for managing data and files |
US10339934B2 (en) * | 2016-06-27 | 2019-07-02 | Google Llc | Asynchronous processing of user requests |
CN106815030B (zh) * | 2017-02-07 | 2020-04-24 | 浪潮通用软件有限公司 | 一种通用的处理用户界面显示规则的方法 |
DK180127B1 (en) | 2017-05-16 | 2020-05-26 | Apple Inc. | DEVICES, METHODS, AND GRAPHICAL USER INTERFACES FOR MOVING USER INTERFACE OBJECTS |
US10705713B2 (en) * | 2017-05-16 | 2020-07-07 | Apple Inc. | Drag and drop for touchscreen devices |
US10917587B2 (en) | 2017-06-02 | 2021-02-09 | Oracle International Corporation | Importing and presenting data |
US10956237B2 (en) * | 2017-06-02 | 2021-03-23 | Oracle International Corporation | Inter-application sharing of business intelligence data |
US11614857B2 (en) | 2017-06-02 | 2023-03-28 | Oracle International Corporation | Importing, interpreting, and presenting data |
US10444975B2 (en) * | 2017-07-18 | 2019-10-15 | Google Llc | Graphical icon manipulation |
US10628109B2 (en) * | 2017-08-09 | 2020-04-21 | Google Llc | Dynamically adapting panels of a user interface |
FR3071639B1 (fr) * | 2017-09-22 | 2020-01-31 | Lithium Media | Procede d’exploitation d’un dispositif informatique et dispositif informatique mettant en œuvre celui-ci |
US11341544B2 (en) * | 2017-11-28 | 2022-05-24 | Snap Inc. | Media collection navigation with opt-out interstitial |
US10901604B2 (en) * | 2017-11-28 | 2021-01-26 | Microsoft Technology Licensing, Llc | Transformation of data object based on context |
JP2019120997A (ja) * | 2017-12-28 | 2019-07-22 | コニカミノルタ株式会社 | 情報処理装置、画像形成装置およびプログラム |
JP2019128714A (ja) * | 2018-01-23 | 2019-08-01 | シャープ株式会社 | 入力表示装置、入力表示方法および入力表示プログラム |
US10712921B2 (en) * | 2018-04-09 | 2020-07-14 | Apple Inc. | Authoring a collection of images for an image gallery |
US11269500B2 (en) * | 2018-05-21 | 2022-03-08 | Samsung Electronics Co., Ltd. | Method and system for modular widgets in smart devices |
CN109213765A (zh) * | 2018-08-20 | 2019-01-15 | 中国平安人寿保险股份有限公司 | 数据表关联的方法、装置、计算机设备和存储介质 |
US11435830B2 (en) | 2018-09-11 | 2022-09-06 | Apple Inc. | Content-based tactile outputs |
US10996761B2 (en) | 2019-06-01 | 2021-05-04 | Apple Inc. | User interfaces for non-visual output of time |
CN110659227B (zh) * | 2019-10-10 | 2020-10-02 | 北京机电工程研究所 | 一种面向无人智能装备数据总线的自动订阅方法 |
US11368538B2 (en) * | 2020-09-14 | 2022-06-21 | Box, Inc. | Platform-agnostic drag-and-drop operations |
US20220164078A1 (en) * | 2020-11-20 | 2022-05-26 | Microsoft Technology Licensing, Llc | Dynamic and selective presentation of interaction zones by a computer program based on user interaction with content from other computer programs |
CN115705119A (zh) * | 2021-08-09 | 2023-02-17 | 北京小米移动软件有限公司 | 小窗退出方法及装置、电子设备、存储介质 |
CN113986079B (zh) * | 2021-10-28 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 虚拟按钮的设置方法和装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101627359A (zh) * | 2007-01-07 | 2010-01-13 | 苹果公司 | 用于在触摸屏上移动列表项目的系统和方法 |
CN101739127A (zh) * | 2008-11-13 | 2010-06-16 | Lg电子株式会社 | 具有触摸屏的移动终端及使用其处理数据的方法 |
CN101770326A (zh) * | 2008-12-31 | 2010-07-07 | 北京联想软件有限公司 | 触摸屏上移动对象的实现方法及计算设备 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5483261A (en) | 1992-02-14 | 1996-01-09 | Itu Research, Inc. | Graphical input controller and method with rear screen image detection |
US5880411A (en) | 1992-06-08 | 1999-03-09 | Synaptics, Incorporated | Object position detector with edge motion feature and gesture recognition |
US5488204A (en) | 1992-06-08 | 1996-01-30 | Synaptics, Incorporated | Paintbrush stylus for capacitive touch sensor pad |
US5742286A (en) | 1995-11-20 | 1998-04-21 | International Business Machines Corporation | Graphical user interface system and method for multiple simultaneous targets |
US5825352A (en) | 1996-01-04 | 1998-10-20 | Logitech, Inc. | Multiple fingers contact sensing method for emulating mouse buttons and mouse operations on a touch sensor pad |
US5801699A (en) * | 1996-01-26 | 1998-09-01 | International Business Machines Corporation | Icon aggregation on a graphical user interface |
US5835079A (en) | 1996-06-13 | 1998-11-10 | International Business Machines Corporation | Virtual pointing device for touchscreens |
US6310610B1 (en) | 1997-12-04 | 2001-10-30 | Nortel Networks Limited | Intelligent touch display |
US8479122B2 (en) | 2004-07-30 | 2013-07-02 | Apple Inc. | Gestures for touch sensitive input devices |
US7663607B2 (en) | 2004-05-06 | 2010-02-16 | Apple Inc. | Multipoint touchscreen |
EP1717678B1 (en) | 1998-01-26 | 2017-11-22 | Apple Inc. | Method for integrating manual input |
GB2337435B (en) * | 1998-05-14 | 2002-07-10 | Mitel Corp | 3d view of incoming communications |
US6188391B1 (en) | 1998-07-09 | 2001-02-13 | Synaptics, Inc. | Two-layer capacitive touchpad and method of making same |
JP4542637B2 (ja) | 1998-11-25 | 2010-09-15 | セイコーエプソン株式会社 | 携帯情報機器及び情報記憶媒体 |
JP3800984B2 (ja) | 2001-05-21 | 2006-07-26 | ソニー株式会社 | ユーザ入力装置 |
JP2003173237A (ja) | 2001-09-28 | 2003-06-20 | Ricoh Co Ltd | 情報入出力システム、プログラム及び記憶媒体 |
US6690387B2 (en) | 2001-12-28 | 2004-02-10 | Koninklijke Philips Electronics N.V. | Touch-screen image scrolling system and method |
JP3730923B2 (ja) | 2002-02-06 | 2006-01-05 | 株式会社ジャストシステム | アイコン表示装置、アイコン表示方法およびその方法をコンピュータに実行させるプログラム |
US7370281B2 (en) | 2002-02-22 | 2008-05-06 | Bea Systems, Inc. | System and method for smart drag-and-drop functionality |
US11275405B2 (en) | 2005-03-04 | 2022-03-15 | Apple Inc. | Multi-functional hand-held device |
US7337409B2 (en) | 2002-09-25 | 2008-02-26 | Siemens Aktiengesellschaft | Customizable drag and drop for industrial software applications |
US7231609B2 (en) * | 2003-02-03 | 2007-06-12 | Microsoft Corporation | System and method for accessing remote screen content |
US7650575B2 (en) | 2003-03-27 | 2010-01-19 | Microsoft Corporation | Rich drag drop user interface |
US7694236B2 (en) * | 2004-04-23 | 2010-04-06 | Microsoft Corporation | Stack icons representing multiple objects |
US7730012B2 (en) | 2004-06-25 | 2010-06-01 | Apple Inc. | Methods and systems for managing data |
KR100703690B1 (ko) * | 2004-11-19 | 2007-04-05 | 삼성전자주식회사 | 스킨 이미지를 사용하여 아이콘을 그룹별로 관리하는사용자 인터페이스 및 방법 |
US8464176B2 (en) * | 2005-01-19 | 2013-06-11 | Microsoft Corporation | Dynamic stacking and expansion of visual items |
EP1722295A1 (de) * | 2005-05-10 | 2006-11-15 | Siemens Aktiengesellschaft | Verfahren, Vorrichtung und Computerprogrammprodukt zur Bereitstellung von Benutzerinformationen innerhalb einer grafischen Benutzeroberfläche |
US7752566B1 (en) * | 2005-10-28 | 2010-07-06 | Adobe Systems Incorporated | Transparent overlays for predictive interface drag and drop |
JP4759743B2 (ja) * | 2006-06-06 | 2011-08-31 | 国立大学法人 東京大学 | オブジェクト表示処理装置、オブジェクト表示処理方法、およびオブジェクト表示処理用プログラム |
US8189880B2 (en) * | 2007-05-29 | 2012-05-29 | Microsoft Corporation | Interactive photo annotation based on face clustering |
US8619038B2 (en) * | 2007-09-04 | 2013-12-31 | Apple Inc. | Editing interface |
WO2009086194A2 (en) * | 2007-12-19 | 2009-07-09 | Nevins David C | Apparatus, system, and method for organizing information by time and place |
KR101012300B1 (ko) * | 2008-03-07 | 2011-02-08 | 삼성전자주식회사 | 터치스크린을 구비한 휴대 단말기의 사용자 인터페이스장치 및 그 방법 |
JP4605279B2 (ja) * | 2008-09-12 | 2011-01-05 | ソニー株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP2010183244A (ja) * | 2009-02-04 | 2010-08-19 | Fujifilm Corp | 撮像装置及び撮像装置の制御方法 |
US20100275122A1 (en) * | 2009-04-27 | 2010-10-28 | Microsoft Corporation | Click-through controller for mobile interaction |
BRPI1008121A2 (pt) * | 2009-05-29 | 2016-03-08 | Koninkl Philips Electronics Nv | método para fornecer orientação a uma equipe de prestação de serviço para atender ao cliente nos estabelecimentos comerciais e sistema de orientação para prover orientação a uma equipe de prestação de serviço para atender a um cliente nos estabelecimentos comerciais |
US8479107B2 (en) * | 2009-12-31 | 2013-07-02 | Nokia Corporation | Method and apparatus for fluid graphical user interface |
US8751939B2 (en) * | 2010-04-26 | 2014-06-10 | Salesforce.Com, Inc. | Side tab navigation and page views personalization systems and methods |
US9323442B2 (en) | 2010-09-30 | 2016-04-26 | Apple Inc. | Managing items in a user interface |
-
2010
- 2010-09-30 US US12/895,770 patent/US9323442B2/en active Active
-
2011
- 2011-09-28 NL NL2007490A patent/NL2007490C2/en not_active IP Right Cessation
- 2011-09-29 CN CN201180053318.0A patent/CN103189828B/zh active Active
- 2011-09-29 AU AU2011308814A patent/AU2011308814B2/en not_active Ceased
- 2011-09-29 JP JP2013531843A patent/JP5514371B2/ja not_active Expired - Fee Related
- 2011-09-29 EP EP11768242.7A patent/EP2622445B1/en not_active Not-in-force
- 2011-09-29 CN CN201610223912.4A patent/CN105930064B/zh active Active
- 2011-09-29 WO PCT/US2011/053901 patent/WO2012044779A1/en active Application Filing
- 2011-09-29 KR KR1020137009583A patent/KR101487632B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101627359A (zh) * | 2007-01-07 | 2010-01-13 | 苹果公司 | 用于在触摸屏上移动列表项目的系统和方法 |
CN101739127A (zh) * | 2008-11-13 | 2010-06-16 | Lg电子株式会社 | 具有触摸屏的移动终端及使用其处理数据的方法 |
CN101770326A (zh) * | 2008-12-31 | 2010-07-07 | 北京联想软件有限公司 | 触摸屏上移动对象的实现方法及计算设备 |
Also Published As
Publication number | Publication date |
---|---|
US20120084689A1 (en) | 2012-04-05 |
EP2622445B1 (en) | 2017-06-21 |
JP5514371B2 (ja) | 2014-06-04 |
CN105930064B (zh) | 2019-04-23 |
CN105930064A (zh) | 2016-09-07 |
CN103189828A (zh) | 2013-07-03 |
KR101487632B1 (ko) | 2015-01-29 |
KR20130069802A (ko) | 2013-06-26 |
JP2013542514A (ja) | 2013-11-21 |
AU2011308814A1 (en) | 2013-04-11 |
WO2012044779A1 (en) | 2012-04-05 |
AU2011308814B2 (en) | 2014-09-11 |
US9323442B2 (en) | 2016-04-26 |
EP2622445A1 (en) | 2013-08-07 |
NL2007490C2 (en) | 2012-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103189828B (zh) | 管理用户界面中的项的方法和系统以及计算设备 | |
DK180787B1 (en) | Devices, methods, and graphical user interfaces for interacting with user interface objects corresponding to applications | |
CN103229141B (zh) | 管理用户界面中的工作空间 | |
CN106201305B (zh) | 电子装置及其控制方法 | |
EP4231126A2 (en) | Devices, methods, and graphical user interfaces for interacting with user interface objects | |
CN111225108A (zh) | 一种通信终端及负屏界面的卡片显示方法 | |
US20240211117A1 (en) | Devices, Methods, and Graphical User Interfaces for Interacting with User Interface Objects Corresponding to Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |