用于滚动的应用编程接口的制作方法_3

文档序号:9505900阅读:来源:国知局
、标签、电子邮件文件夹、电子邮件地址、实际地址、铃声或相册名称的列表。
[0081] 如果电子邮件的列表填充了比所分配的屏幕区域更多的地方,则用户可以在触摸 屏上用垂直向上和/或垂直向下刷(swipe)的手势对这些电子邮件进行滚动。在图6A的示 例中,电子邮件列表的一部分被显不在屏幕区域中,包括显不在顶部的来自Bruce Walker 的电子邮件3530以及显示在底部的来自Kim Brook的电子邮件3532。用户执行垂直向下 的刷手势3514以向列表的顶部滚动。垂直向下的手势3514不需要精确地垂直;大体上垂 直的手势就足够了。在某些实施例中,与精确垂直相差预定角度范围内的手势造成垂直滚 动。
[0082] 作为对垂直向下的手势3514进行检测的结果,在图6B中,所显示的电子邮件已经 向下移位,使得此前显示在底部的来自Kim Brook的电子邮件3532不再被显示,此前显示 在顶部的来自Bruce Walker的电子邮件3530现在成为从顶部数的第二个,而图6A中未显 示的、来自Aaron Jones的电子邮件3534现在被显示在列表的顶部。
[0083] 在该示例中,来自Aaron Jones的电子邮件3534是列表中的第一个电子邮件,因 此是列表的终点。在到达该电子邮件3534时,响应于对垂直向下的手势3514的持续检测, 该第一个电子邮件3534上方(即超过了该列表的终点)的区域3536(图6C)被显示。在 某些实施例中,超过了列表终点的被显示的区域与列表的背景在视觉上截然不同。在图6C 中,区域3536以及电子邮件(即电子邮件3534和3530)的背景都是白色,因此在视觉上截 然不同。
[0084] -旦完成了垂直向下的手势3514,使得触摸屏上或其附近不再检测到相应的对 象,则列表被沿相反的方向滚动,直到该区域3536不再被显示。图6D图示了沿相反方向的 这种滚动的结果,现在来自Aaron Jones的电子邮件3534被显示在分配给该列表的屏幕区 域的顶部,而区域3536不被显示。
[0085] 在图6A-图6D的示例中,垂直向下的手势使得列表中第一个条目之外的区域被显 示。如图3所示,在方框304对于上下边缘,或者在方框306处对窗口的全部边缘,设定用 于预定最大位移的值(例如对列表中第一个条目之外的区域进行显示)。
[0086] 类似地,如果在列表已经被滚动到最后一个条目时垂直向上的手指在继续,则垂 直向上的手势可以使得列表中最后一个条目之外的区域被显示。与第一个条目类似,该最 后一个条目可以被看作是列表的终点。如上所述,手势不需要精确垂直以造成垂直滚动;与 完全垂直相差预定角度范围内的手势就足够了。
[0087] 根据本发明的某些教导,图7以流程图的形式图示了应用编程接口的细节。该应 用编程接口工作于下述环境中以提供方向性滚动操作:该环境具有与软件应用进行交互的 用户接口软件。用于通过应用编程接口(API)工作的方法700包括在方框702传送方向性 滚动角度调用,以判定是否允许方向性滚动。方法700还包括在方框704处传送方向性滚 动角度调用,以设定滚动角度,所述滚动角度用于将滚动锁定在垂直方向或水平方向中至 少一者。该方法700还包括在方框706处,如果用户输入与水平方向形成的角度小于或等 于第一滚动角度,则将滚动锁定在水平方向。该方法700还包括在方框708处,如果用户输 入与垂直方向形成的角度小于或等于第二滚动角度,则将滚动锁定在垂直方向。
[0088] 在某些实施例中,以拖动的形式进行的用户输入与水平方向形成的角度小于第一 滚动角度。在此情况下,用户可能希望沿水平方向滚动。滚动将被锁定在水平方向,直到用 户输入超过了第一滚动角度。可以用第二滚动角度来将用户输入锁定在垂直方向。第二滚 动角度可以被设定成等于第一滚动角度。
[0089] 图8图示了用于将装置显示器的滚动锁定在水平或垂直方向的第一和第二滚动 角度。水平方向802和垂直方向804是相对于装置的窗口或显示器而言的。如方法700中 所述,与水平方向802形成的角度小于或等于第一滚动角度806或808的用户输入(例如 拖动运动)将把用户输入锁定在水平方向。类似地,与垂直方向804形成的角度小于或等 于第二滚动角度810或812的用户输入将把用户输入锁定在垂直方向。第一和第二滚动角 度可以设定成相同角度,也可以设定在不同角度。例如,第一和第二滚动角度可以被设定在 25度。相对于水平或垂直方向小于或等于25度的用户输入将把滚动锁定在合适的方向。
[0090] 在某些实施例中,水平和垂直锁定角度可以部分地由内容的朝向(aspect)来确 定。例如,瘦高页面(tall page)形式的内容可以接收比水平锁定角度更大的垂直锁定角 度。
[0091] 根据本发明的某些教导,图9以流程图的形式图示了应用编程接口的细节。该应 用编程接口工作于下述环境中以提供减速滚动操作:该环境具有与软件应用进行交互的用 户接口软件。用于提供减速滚动操作的方法900包括在方框902处传送减速滚动调用以设 定用于拖动用户输入的减速因子。该方法900还包括在方框904处根据该拖动用户输入的 速度以及该减速因子来将滚动减慢直到停止。
[0092] 在某些实施例中,拖动形式的用户输入引起特定时间长度的滚动操作。用户输入 具有特定速度。通过将减速因子应用于拖动运动期间用户输入的速度,在用户输入停止之 后,装置显示器的窗口或显示区域的滚动区域将停止滚动。
[0093] 根据本发明的某些教导,图10以流程图的形式图示了应用编程接口的细节。该用 户编程接口工作于下述环境中以提供滚动滞后(hysteresis)操作:该环境具有与软件应 用进行交互的用户接口软件。用于提供滚动滞后操作的方法1000包括在方框1002处传送 滚动滞后调用以判定用户输入是否引起滚动。该方法1000还包括在方框1004处设定用于 对用户输入是否引起滚动进行判定的滞后值。
[0094] 在某些实施例中,在装置的显示器或显示器内的窗口上拖动特定距离的形式的用 户输入引起滚动操作。滞后值确定了该特定距离,这个距离是在引起滚动操作之前,用户输 入必须在显示器或窗口上拖动的距离。没有拖动该特定距离的用户输入将不会引起滚动操 作,并且可以被认为是鼠标抬起或按下输入,或者其他类型的输入。
[0095] 根据本发明的某些教导,图11以流程图的形式图示了应用编程接口的细节。该应 用编程接口工作于下述环境中以将滚动指示器附着到装置的滚动区域边缘或窗口边缘:该 环境具有与软件应用进行交互的用户接口软件。在某些实施例中,滚动区域边缘与内容边 缘相关联。窗口或显示边缘可以与显示区域的边缘相关联。用于提供滚动指示器的方法 1100包括在方框1102处传送滚动指示器调用以判定是否有至少一个滚动指示器附着到滚 动区域的边缘或窗口边缘。滚动指示器可以被显示在任何显示边缘、窗口边缘或滚动区域 边缘上。该方法1100还包括在方框1104处根据该滚动指示器调用来可选地将至少一个滚 动指示器附着到滚动区域的边缘。或者,该方法1100还可以包括在方框1106处根据该滚 动指示器调用来可选地将至少一个滚动指示器附着到视图的窗口边缘。
[0096] 在某些实施例中,方法1100的这些操作可以被交替、更改、组合或删除。例如,方 框1104可以被删除。类似地,方框1106可以从方法1100中删去。或者,方框1104和方框 1106的次序可以被交换。具有本发明中已经讨论过的各种操作的其他方法也可以被交替、 更改、重排、分解、组合或删除。
[0097] 在本发明的某些实施例中,传送滚动指示器调用是下列任一者:发起、产生、引起 或接收滚动指示器调用。例如,用户接口软件(例如软件包或库)可以从软件应用接收滚 动指示器调用。
[0098] 根据本发明的某些教导,图12以流程图的形式图示了应用编程接口的细节。该应 用编程接口工作于下述环境中以判定是否有无意的用户输入接触到装置显示器的视图:该 环境具有与软件应用进行交互的用户接口软件。该方法1200包括在方框1202处传送无意 用户输入调用,以判定用户输入是否是无意的。该方法1200还包括在方框1204处根据对 无意用户输入调用的判定而忽略该无意用户输入。在一种实施例中,无意用户输入调用包 括拇指检测调用,以判定用户输入是否是无意的拇指行为。
[0099] 在本发明的某些实施例中,传送无意用户输入调用是下列任一者:发起、产生、弓丨 起或接收无意用户输入调用。
[0100] 手势API在应用与用户软件之间提供接口以处理手势。手势可以包括对视图、窗 口或显示器的缩放、旋转或其他变化。掩码(mask)可以只允许特定的改变而限制或不允许 其他的改变。所有类型的事件都通过图形构架进入该应用。这些事件被查询、分解(在必 要时)、分派(dispatch)。如果这些事件是系统级事件(例如,应用应当被挂起、装置方向 已经改变等等),则它们被引导至具有用户接口软件的类的实例(instance)的应用。如果 这些事件是基于用户输入的手事件,则这些事件被引导至发生它们的窗口。窗口然后通过 对实例的鼠标和手势方法进行调用,来将这些事件引导至合适的控制部分。接收了鼠标按 下或鼠标输入函数的控制部分将继续得到将来的全部调用,直到手被抬起。如果检测到第 二个手指,则引起手势方法或函数。这些函数可以包括开始、改变和结束手势调用。将来的 全部改变手势调用将被发送到接收了开始手势的控制部分,直到该手势结束。
[0101] 根据本发明的某些教导,图13以流程图的形式图示了应用编程接口的细节。该 应用编程接口工作于下述环境中以提供手势操作:该环境具有与软件应用进行交互的用 户接口软件。用于提供手势操作的方法1300包括在方框1302处传送处理手势(handle gesture)事件调用。该方法1300还包括在方框1304处响应于处理手势事件调用而传送手 势变化调用。
[0102] 在某些实施例中,由装置的显示器以两个或更多个点的形式接收用户输入。装置 的多点触摸驱动器接收该用户输入并将该事件包装成事件对象。窗口服务器接收该事件 对象并判定该事件对象是否是手势事件对象。如果窗口服务器确定已经接收了手势事件 对象,则在方框1302处,用户接口软件向与视图相关的软件应用发起或传送该处理手势调 用。该软件应用确认已经接收到手势事件并将处理手势调用传递给用户接口软件的库。窗 口服务器还将该手势事件对象与接收了该用户输入的视图相关联。在方框1304处,库通过 响应于处理手势事件调用来传送手势变化调用,从而作出响应。
[0103] 在一种实施例中,与用户输入相关联的窗口或视图接收这种变化以执行手势事 件。提供该视图的用户软件接收手势开始事件调用、手势变化事件调用、用于该视图的缩 放设定、以及手势结束调用。这些手势调用接收手势事件的输入,该手势事件可以是具有 类型(例如手事件、键盘事件、系统事件等)的基础(base)事件。与该应用相关联的委托 (delegate)接收开始手势调用、手势已变化调用、以及手势已完成调用。在手势处理的运行 时间期间,用户软件被动态地链接到该应用中。
[0104] 在某些实施例中,手势变化函数调用包含与手势有关的下列信息:
[0105] 当前按下的手指的数目;
[0106] 最初按下的手指的数目;
[0107] 手的旋转;
[01
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1