具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的用于移动设备的用户界面实现方法100的流程图。根据图1可知,首先检测对移动设备的触发动作;响应于该触发动作,显示n层响应区域,其中响应区域为透明矩形,该响应区域对用户来说是无感知的;这n层响应区域的一角或一侧边重合,并且从第1层响应区域开始,每层响应区域的面积是依次增大的。每层响应区域被划分为有效区域和无效区域,可选地,有效区域内显示有非透明图片,所以用户可以感知有效区域。第1层响应区域的有效区域为扇形区域,第2层至第n层响应区域的有效区域为扇环区域,n层响应区域的有效区域之间互不重叠,由此n层响应区域的有效区域组合成扇形用户界面。计算一个或多个用户界面元素的显示位置,在每层响应区域的有效区域上呈现用户界面元素,由此在移动设备上实现了扇形用户界面以及其上呈现的用户界面元素,进而为用户提供了便捷的打开用户界面元素对应的应用的入口。
再如图1所示,方法100始于步骤S101,检测对移动设备的触发动作。本方法是通过检测用户对移动设备的触发动作来触发用户界面的显示。其中触发动作可以为:指定按钮的点击或双击动作;或者,从屏幕右下角开始向左上方向的滑动动作;或者,从屏幕左下角开始向右上方向的滑动动作;或者,从屏幕右上角开始向左下方向的滑动动作;或者,从屏幕左上角开始向右下方向的滑动动作;或者,从屏幕一侧边开始向另一侧边方向的滑动动作;等等。本发明不仅限于上述触发动作。
图2示出了本发明一个实施例中用户对移动设备的触发动作的示意图。如图2所示,基于该移动设备提供的屏幕,用户可采用从屏幕右下角开始向左上方向的滑动动作来呼出用户界面,用户界面将显示在屏幕的右下角区域。本方法可以为该滑动动作设定有效区间,如果以屏幕右下角为原点建立坐标系,依据本发明的一个实施例把该有效区间可设为角度区间[110°,210°],该角度区间的确定是基于与手势相关的矢量,该矢量的起始点不一定在坐标系原点。滑动动作的矢量角度应在有效区间内,才会触发呼出用户界面。具体判定也可依赖能表征角度的正切值。例如,将有效区间设定为正切值区间,如[tg110°,tg210°],在检测到对移动设备的滑动动作之后,根据滑动动作的起始点坐标和终止点坐标计算滑动动作的矢量角度的正切值,判断该正切值是否在上述正切值区间之内,若是,才会触发呼出用户界面。图3示出了本发明又一个实施例中用户对移动设备的触发动作的示意图。如图3所示,基于该移动设备提供的屏幕,用户可采用从屏幕左下角开始向右上方向的滑动动作来呼出用户界面,用户界面将显示在屏幕的左下角区域。本方法也可为从屏幕左下角开始向右上方向的滑动动作设定有效区间。图2和图3仅为本发明的两个示例,不能理解为对本发明的限制。
在步骤S101之后,方法100进入步骤S102,根据触发动作,显示n层响应区域并在每层响应区域的有效区域显示非透明图片。以Android系统为例,Android系统中用户界面(UserInterface,简称:UI)元素的基本单元为视窗(view),视窗作为一个整体来响应触发动作。视窗本身是矩形,为了使本发明能应用于Android系统或其它类似系统,本发明的响应区域也是矩形。但为了能向用户呈现扇形用户界面,本发明将响应区域划分为有效区域和无效区域,其中响应区域是透明的,有效区域显示有非透明图片,各层响应区域的非透明的有效区域组合起来形成扇形用户界面。
以具有4层响应区域的用户界面为例进行说明,但本发明不以此为限。图4示出了依据本发明一个实施例的用户界面的示意图。该图4所示出的用户界面具有4层响应区域,且均为透明矩形,这4层响应区域的一角或一侧边是重合的。具体来说,如果扇形用户界面需要显示在屏幕的某一角对应的角落区域,这4层响应区域的一角重合在屏幕的这一角;如果扇形用户界面需要显示在屏幕的某一侧对应的侧边区域,这4层响应区域的一侧边重合在屏幕的这一侧边。其中,第m层响应区域大于第m-1层响应区域,m∈[2,n]。即,从第1层响应区域开始,各层响应区域是依次增大的。由于响应区域为透明矩形,所以在图4中并未看出矩形形状的响应区域,也就是说用户对响应区域是无感知的。
在显示每层响应区域的同时,在每层响应区域的有效区域显示非透明图片。鉴于每层响应区域的有效区域显示了非透明图片,所以在图4中可以看出各层响应区域的有效区域。如图4所示,第1层响应区域的有效区域40为扇形区域,第2层响应区域的有效区域41、第3层响应区域的有效区域42和第4层响应区域的有效区域43都为扇环区域,这4层响应区域的有效区域之间互不重叠。为了更为清楚的展现一层响应区域中有效区域和除有效区域之外的其它区域(即无效区域)的关系,以图4中的第2层响应区域为例进行说明。图5示出了图4中第2层响应区域的示意图。如图5所示,第2层响应区域为矩形区域50,第2层响应区域的有效区域52为扇环区域,除了扇环区域之外的其它区域为无效区域51。其中,有效区域是指对用户的触发动作做出响应的区域,无效区域是指对用户的触发动作不会做出响应的区域。只有当触发动作发生的位置属于第2层响应区域的有效区域52时,才会在第2层响应区域响应该触发动作。
可选地,显示第m层响应区域并在第m层响应区域的有效区域显示非透明图片具体为:在第m层响应区域的开始呈现时间到达之后呈现第m层响应区域和第m层响应区域对应的非透明图片。其中,第m层响应区域的开始呈现时间为第1层至第m-1层响应区域的呈现时间的总和。也就是说,在第1层至第m-1层响应区域呈现完毕之后,第m层响应区域开始呈现,通过这种技术处理方式,可以达到层与层之间的平滑衔接。可选地,显示每层响应区域和其对应的非透明图片可以通过执行缩放动画方法来实现,例如Android系统提供的缩放动画方法(ScaleAnimation),以屏幕右下角(或左下角)为参考点缩放,呼出时缩放值为从0至100%。对应的,在关闭时也可以采用同样的方法,缩放值为从100%至0。
当然,这m层响应区域及非透明图片还可以采用本领域任何方式来显示,例如同时显示这m层响应区域及非透明图片。
在步骤S102之后,方法100进入步骤S103,计算一个或多个UI元素的显示位置,在每层响应区域的有效区域上呈现UI元素。图6示出了本发明一个实施例中在用户界面中显示UI元素的示意图。如图6所示,在第1层响应区域的有效区域上呈现用于实现关闭UI功能的关闭UI元素,当用户点击该关闭UI元素时,整个UI界面就会关闭。在第2层响应区域的有效区域上呈现多个标签元素,分别为“刚打开”、“最常用”和“新安装”。这3个标签元素对应3个子类,分别为“最近打开”、“最常使用”和“最新安装”,“最近打开”取桌面统计数据,按照最近使用的时间排序,取排序结果的前9个(当然,也可以多于或少于9个)应用;“最常使用”取桌面统计数据,按照使用次数由高到低排序,取排序结果前9个应用;“最新安装”取(移动设备的)系统数据库提供的数据,按照应用更新时间排序,取排序结果的前9个应用。
根据本发明的一个实施例,采用Section类来提供标签对应的应用程序列表,其是一个抽象类,由子类实现抽象接口来提供数据完成具体的业务逻辑。Section类的父类是java.lang.Object,子类包括RecentlyInstalledSection、MostUsedSection和RecentUsedSection。Section类的结构可参见如下表1.1,表1.2和表1.3。
表1.1
表1.2
表1.3
表中所述的应用程序目前是由AppInfo接口类型表示,AppInfo由360手机桌面提供,其主要方法为getTitle()和getIcon(),即获取应用程序的名称和图标。
如表1.3所示,Section类的子类主要实现的接口为一个抽象的接口loadIcons()。例如:提供“最新安装”的数据的子类为RecentlyInstalledSection,该子类对loadIcons()接口的实现为:首先取得所有已安装的应用,然后按照应用的更新时间(lastUpdateTime字段,由系统提供)排序,取前9个应用,如果不足9个,那么就取全部的应用。提供“最常使用”的数据的子类为MostUsedSection,该子类对loadIcons()接口的实现为:取所有已安装的应用,然后按照使用次数(calledNum字段,桌面统计数据,每一次打开应用时加1)排序,取前9个应用,如果不足9个,那么就取全部的应用。提供“最近使用”的数据的子类为RecentUsedSection,该子类对loadIcons()接口的实现为:取所有已安装的应用,然后按照最近使用的时间(lastCalledTime字段,桌面统计数据,每一次打开应用时更新为当前时间),取前9个应用,如果不足9个,那么就取全部的应用。在第3层和第4层响应区域的有效区域上呈现多个应用图标元素,这些应用图标元素为当前标签元素对应的子类所统计出的应用的图标,以图6为例,在第2层响应区域的有效区域中,当前标签元素为“最常用”,那么在第3层和第4层所呈现的就是按照使用次数由高到低排序排在前9个的应用的图标。
注意,本例在第2层响应区域的有效区域上呈现了三个标签元素,当然也可以多于或少于三个标签元素,在此不一一列举。
在步骤S103中,UI元素的位置可由Positions类来计算。Positions类是负责计算所有UI元素的位置的工具类,它封装了一些通用的计算UI元素的位置的方法,这些计算方法为数学计算方法,所有的接口都为静态接口。Positions类的父类为java.lang.Object,其无直接或间接的子类。Positions类的结构可参见如下表2.1和表2.2。
表2.1
表2.2
Positions类计算的坐标以屏幕右下角(也可是屏幕左下角、左上角、右上角或侧边某点)为原点,并提供和系统坐标的转换。具体地,根据每层响应区域的预设半径和与UI元素对应的该层响应区域的有效区域的区块索引值计算该层响应区域内所呈现的UI元素的位置,其中区块索引值为响应区域的有效区域被划分的若干个区块之一的索引值。以图5所示的第2层响应区域为例,第2层响应区域的有效区域被划分为3个区块,“刚打开”对应的区块索引值为1,“最常用”对应的区块索引值为2,“新安装”对应的区块索引值为3。以计算UI元素“最常用”的位置为例,首先根据该UI元素对应的第2层响应区域的有效区域的区块索引值2获取UI元素位置相对于原点(如屏幕右下角)的角度,参见表2.2中的getRadian()接口;然后根据第2层响应区域的预设半径和角度计算UI元素位置的x和y坐标,由此得到UI元素的准确位置,设预设半径为r0,角度为θ,由此计算得到UI元素位置的x坐标为r0*cosθ,y坐标为r0*sinθ,参见表2.2中的getPosition()接口。其中,第2层响应区域的预设半径r0为介于r和R之间的值。依此类推,计算出所有UI元素的显示位置,在扇形UI的每层扇形区域上呈现各自的UI元素。由于Positions类的所有接口都是数学运算方法,所以可由任何语言来实现。
可选地,在第m层响应区域的有效区域内显示UI元素具体为:在第m层响应区域上UI元素的开始呈现时间到达之后,在第m层响应区域的有效区域上以从上到下的顺序呈现UI元素。其中,第m层响应区域上UI元素的开始呈现时间为第1层至第m-1层响应区域上UI元素的呈现时间的总和。也就是说,在第1层至第m-1层响应区域的有效区域内的UI元素呈现完毕之后,在第m层响应区域的有效区域内开始呈现UI元素,这样在各层之间UI元素的显示达到平滑衔接。可选地,呈现应用图标元素时可以采用Android系统提供的平移动画方法(TranslateAnimation),从屏幕右下角移动到所计算出的显示位置。为了实现弹性效果,每个应用图标元素的动画可分为三段。在应用图标元素收起时,反方向执行动画即可。
在呈现UI元素之后,用户可对扇形用户界面执行各种触发动作。移动设备检测到这些触发动作后,对触发动作做出相应的响应。以图6为例,若移动设备检测到用户点击第1层响应区域的有效区域内的关闭UI元素,则收起整个扇形用户界面;若移动设备检测到用户点击第2层响应区域的有效区域内的某个标签元素,则将该标签元素对应的应用图标元素呈现在第3层和第4层响应区域的有效区域;若移动设备检测到用户点击第3层或第4层响应区域的有效区域的某个应用图标元素,则打开该应用图标元素对应的应用。移动设备响应对扇形用户界面的点击动作的具体过程为:检测对用户界面的点击动作;计算点击动作发生的位置的坐标;根据点击动作发生的位置的坐标确定点击动作发生的位置所属的响应区域为第i层至第n层响应区域,其中,i∈[1,n];判断点击动作发生的位置是否属于第i层响应区域的有效区域,若是,则在第i层响应区域响应点击动作;否则,将i更新为i+1,并重复执行本步骤,直至i等于n+1时结束。
图7示出了根据本发明一个实施例的用于移动设备的用户界面的事件响应方法700的流程图。如图7所示,方法700始于步骤S701,检测对用户界面的点击动作。基于图6所示的用户界面,用户可以对其上所呈现的UI元素进行点击,移动设备检测该点击动作。
在步骤S701之后,方法700进入步骤S702,计算点击动作发生的位置的坐标。点击动作发生的位置的坐标指的是相对于以屏幕右下角为原点的坐标系的坐标,但通常在用户触发点击动作后,系统会自动获取点击动作发生位置相对于以屏幕左上角为原点的坐标系(即系统坐标系)的坐标,因此需要将坐标进行转换。
在步骤S702之后,方法700进入步骤S703,根据点击动作发生的位置的坐标确定点击动作发生的位置所属的响应区域为第i层至第n层响应区域。如果点击动作发生的位置不属于第i层至第n层响应区域,那么本方法对该点击动作不做响应,本方法结束;如果点击动作发生的位置属于第i层至第n层响应区域,方法700进入步骤S704。
在步骤S704中,判断点击动作发生的位置是否属于第i层响应区域的有效区域,若是,进入步骤S706;若否,进入步骤S705。本步骤可以是个循环执行的步骤。由于Android系统中UI元素的基本单元称为视窗(view),视窗作为一个整体来响应触发动作。但视窗本身是矩形,这与扇形区域存在非重叠区域,需要将该区域对于触发动作的响应屏蔽掉,只保留扇形区域对于触发区域的响应,以免影响其它视窗的响应。以图5为例,只有当触发动作发生的位置属于第2层响应区域的有效区域52时,才会在第2层响应区域响应该触发动作。
图8示出了图7中步骤S704的一种实现方法800的流程图。可选地,步骤S704可以包括以下步骤S801-步骤S804。该方法800始于步骤S801,获取点击动作发生的位置的坐标与扇形用户界面的原点之间的距离。本文中,用户界面的原点为n层响应区域重合的一个角的端点或n层响应区域重合的侧边的中心点。在图6所示的实施例中,用户界面的原点就是屏幕的左下端点。
随后,根据点击动作发生位置的坐标与扇形用户界面的原点之间的距离判断点击动作发生的位置是否属于第i层响应区域的有效区域。
具体地,在步骤S801之后,方法800进入步骤S802,判断点击动作发生的位置的坐标与用户界面之间的距离是否在第i层响应区域的有效区域的内弧半径与外弧半径之间,若是,进入步骤S803;若否,进入步骤S804。如图5所示,响应区域的有效区域具有内弧半径r和外弧半径R,对于第1层响应区域的有效区域来说,其内弧半径为0,外弧半径为扇形区域的半径;对于第2层至第n层响应区域的有效区域来说,内弧半径为扇环区域的内半径,外弧半径为扇环区域的外半径。
在步骤S803中,确定点击动作发生的位置属于第i层响应区域的有效区域,方法700进入步骤S706。
在步骤S804中,确定点击动作发生的位置不属于第i层响应区域的有效区域,方法700进入步骤S705。
在步骤S705中,将i更新为i+1,方法700进入步骤S704。即,如果点击动作发生的位置不属于第i层响应区域的有效区域,那么就接着判断点击动作发生的位置是否属于第i+1层响应区域的有效区域。
在步骤S706中,在第i层响应区域响应点击动作。以图6为例,第1层响应区域的有效区域上呈现的是用于实现关闭扇形用户界面功能的关闭用户UI元素,如果判断出点击动作发生的位置属于第1层响应区域的有效区域,则在本例中本步骤具体为关闭扇形用户界面。
如果判断出点击动作发生的位置属于第2层至第n层响应区域的有效区域的其中之一,则需要确定点击动作发生位置对应该层响应区域的有效区域内的第一区块索引值,据此响应该点击动作。具体过程可以为:根据点击动作发生位置的坐标,获取点击动作发生位置相对于用户界面的原点的角度;然后根据点击动作发生位置相对于用户界面的原点的角度,查询出点击动作对应第i层响应区域的有效区域内的第一区块索引值,按照该第一区块索引值响应该点击动作。其中,第一区块索引值是指第i层响应区域的有效区域被划分的若干个区块之一的索引值。移动设备系统内部维护有第一区块索引值与角度范围的映射关系表,通过确定点击动作发生位置相对于用户界面的原点的角度所属的角度范围,然后查询该映射关系表即可得到点击动作对应第i层响应区域的有效区域内的第一区块索引值。以图6的第2层响应区域为例,由于该层响应区域的有效区域呈现有3个标签元素,需要确定用户点击的是哪个标签元素。首先,根据点击动作发生位置的坐标,获取点击动作发生位置相对于扇形用户界面的原点的角度;然后判定点击动作发生位置相对于扇形用户界面的原点的角度属于哪个预设的角度范围,如果属于第一角度范围,如[90°,120°),则通过查询映射关系表确定点击动作发生位置对应的第一区块索引值为1,如果属于第二角度范围,如[120°,150°),则通过查询映射关系表确定点击动作发生位置对应的第一区块索引值为2,如果属于第三角度范围,如[150°,180°],则通过查询映射关系表确定点击动作发生位置对应的第二区块索引值为3;最后,按照该第二区块索引值,响应触摸点击事件。
依据本发明的一个实施例,在图6中,第2层响应区域的有效区域上呈现多个标签元素,第3层和第4层响应区域的有效区域上各自呈现多个应用图标元素。其中应用图标元素是指用于启动移动设备的应用程序的应用图标。如果判断出点击动作发生的位置属于第2层响应区域的有效区域,则响应点击动作进一步包括以下步骤:
1)将前述确定的第一区块索引值对应的标签元素的所有应用图标元素置入下一个应用图标容器中。IconLayer是应用图标容器,负责图标的生成、缓存、事件处理以及交互动画。本方法定义了两个IconLayer,分别为下一个应用图标容器(Next_IconLayer)和当前应用图标容器(Current_IconLayer)。假设点击动作发生位置对应的第一区块索引值为2,该第一区块索引值对应的标签元素为“最常用”,系统取桌面统计数据,按照使用次数由高到低排序,取排序结果的前9个应用程序,将这9个应用程序的应用图标元素置入下一个应用图标容器中。
2)将当前应用图标容器中的所有应用图标元素移除,执行旋转和淡出动画方法,将第3层至第n层中每一层响应区域的有效区域上呈现的多个应用图标元素移出屏幕。当前应用图标容器中的应用图标元素是在点击动作发生之前呈现在第3层和第4层响应区域的有效区域的应用图标元素,将当前应用图标容器中的这些应用图标元素移除。执行旋转和淡出动画方法,以将第3层和第4层响应区域的有效区域的应用图标元素移出屏幕。
3)将下一个应用图标容器中的所有应用图标元素移入到当前应用图标容器中,执行旋转和淡入动画方法,将当前应用图标容器中的应用图标元素呈现在屏幕上。
通过以上步骤1)、2)和3),实现了标签的切换,而且上述切换给用户带来的视觉效果是原标签的所有应用图标相对于扇形圆心旋转出屏幕,新标签的应用图标相对于扇形圆心旋转进入屏幕,实现了标签的平滑切换。
进一步的,在本发明的一个实施例中,在实现标签的切换的同时,本方法还提供标签指示器的切换,具体为:执行旋转动画方法,将第2层响应区域的有效区域中的标签指示器移动至点击动作发生位置对应的第2层响应区域的有效区域内的第一区块索引值对应的标签元素处。以图6为例,假设在点击动作发生之前,呈现在第3层和第4层响应区域的有效区域的应用图标元素是“新安装”对应的应用,那时标签指示器(灰色区域)应在“新安装”处。在点击动作发生之后,点击动作发生的位置对应的标签是“最常用”,此时,执行旋转动画方法,以右下角为圆心,顺时针旋转30度,将第2层响应区域的有效区域中的标签指示器(灰色区域)移动至“最常用”处,见图6。
如果判断出点击动作发生的位置属于第3层至第n层响应区域的有效区域的其中之一,并且已经确定点击动作发生位置对应该层响应区域的有效区域内的第一区块索引值,那么响应点击动作具体为:打开该第一区块索引值对应的应用图标元素所对应的应用程序。以图6为例,如果判断出点击动作发生的位置属于第4层响应区域的有效区域,且已经确定点击动作发生位置对应第4层响应区域的有效区域内的第一区块索引值为2(对应于“微信”所在区块),那么响应点击动作具体为:打开应用程序“微信”。由此实现了用户界面内应用图标元素对应的应用程序的打开。
进一步的,本实施例的第3层至第n层响应区域除了可以响应点击动作之外,还可以响应滑动动作。图9示出了根据本发明一个实施例的用户界面响应滑动动作的方法900的流程图。如图9所示,方法900始于步骤S901,其中检测对用户界面的滑动动作。用户在第3层至第n层响应区域的任一响应区域的有效区域内执行滑动动作,移动设备通过获取用户在屏幕上滑动的速度和方向来确定该滑动动作。
可选地,在步骤S901之后,方法900进入步骤S902,其中判断滑动动作的滑动速度是否满足高于预设阈值的要求,若是,方法900进入步骤S903;否则,方法900结束。具体地,移动设备获取滑动动作的水平滑动速度和/或竖直滑动速度,如果其中任意速度高于预设阈值,则认为满足要求。通过进行滑动速度的判断,可以防止误操作。
随后,方法900进入步骤S903,其中计算滑动动作发生的位置的坐标。具体地,移动设备可以获取滑动动作的起点坐标和终点坐标。
随后,方法900进入步骤S904,根据滑动动作发生的位置的坐标确定滑动动作发生的位置所属的区域是否为第3层至第n层响应区域的有效区域。一般地,如果判断出滑动动作的起点坐标和终点坐标均在第3层至第n层响应区域的有效区域内,则确定滑动动作发生的位置所属的区域是第3层至第n层响应区域的有效区域,而后方法900进入步骤S905;否则,确定滑动动作发生的位置所属的区域不是第3层至第n层响应区域的有效区域,那么将不对该滑动动作做出响应,方法900结束。
在步骤S905中,根据滑动动作的滑动方向,查询滑动方向对应的第2层响应区域的有效区域内的第二区块索引值。假设滑动动作的滑动速度在x和y方向的分量分别为vx和vy,那么可以用(vx,vy)表示速度矢量。滑动动作的滑动方向可以根据速度矢量所处的象限进行确定,该速度矢量所处的象限可由vx和vy的正负符号来确定。若速度矢量处于第一象限,则滑动方向为右上方,若速度矢量处于第三象限,则滑动方向为左下方。滑动动作的滑动方向也可以根据速度的正切值进行确定,速度的正切值即vy/vx,可以通过反三角函数计算出角度,再与预设的角度进行比较,或者计算出预设角度的正切值,根据正切函数的单调性将它与速度的正切值进行比较,由此确定滑动方向。以图6为例,假设在滑动动作发生之前,第3层和第4层响应区域的有效区域上呈现的是“最常用”对应的应用图标元素,即当前应用图标容器中的应用图标元素为“最常用”对应的应用图标元素。在滑动动作发生之后,如果确定滑动方向为右上方,即用户想要将“新安装”对应的应用图标元素旋转进入屏幕,那么可确定滑动方向对应的第2层响应区域的有效区域内的第二区块索引值为3(“新安装”所在区块的区块索引值);如果确定滑动方向为左下方,即用户想要将“刚打开”对应的应用图标元素旋转进入屏幕,那么可确定滑动方向对应的第2层响应区域的有效区域内的第二区块索引值为1(“刚打开”所在区块的区块索引值)。如果在滑动动作发生之前,第3层和第4层响应区域的有效区域上呈现的是“新安装”对应的应用图标元素,在滑动动作发生之后,如果确定滑动方向为右上方,那么可确定滑动方向对应的第2层响应区域的有效区域内的第二区块索引值为1,即触发将“刚打开”对应的应用图标元素旋转进入屏幕,由此呈现一种循环显示的效果。同理,如果在滑动动作发生之前,第3层和第4层响应区域的有效区域上呈现的是“刚打开”对应的应用图标元素,在滑动动作发生之后,如果确定滑动方向为左下方,那么可确定滑动方向对应的第2层响应区域的有效区域内的第二区块索引值为3,即触发将“新安装”对应的应用图标元素旋转进入屏幕。
在步骤S905之后,方法900进入步骤S906,其中将第二区块索引值对应的标签元素的所有应用图标元素置入下一个应用图标容器中。根据上述方案的描述,本方法定义了两个IconLayer,分别为下一个应用图标容器(Next_IconLayer)和当前应用图标容器(Current_IconLayer)。假设滑动动作的滑动方向对应的第2层响应区域的有效区域内的第二区块索引值为3,该第二区块索引值对应的标签元素为“新安装”,移动设备取数据库提供的数据,按照应用更新时间排序,取排序结果的前9个应用程序,将这9个应用程序的应用图标元素置入下一个应用图标容器中。
随后,方法900进入步骤S907,其中将当前应用图标容器中的所有应用图标元素移除,执行旋转和淡出动画方法,将第3层至第n层响应区域的每层响应区域的有效区域上呈现多个应用图标元素移出屏幕。当前应用图标容器中的应用图标元素是在滑动动作发生之前呈现在第3层和第4层响应区域的有效区域的应用图标元素,将当前应用图标容器中的这些应用图标元素移除。执行旋转和淡出动画方法,将第3层和第4层响应区域的有效区域的应用图标元素移出屏幕。
随后,方法900进入步骤S908,将下一个应用图标容器中的所有应用图标元素移入到当前应用图标容器中,可以执行旋转和淡入动画方法,将当前应用图标容器中的应用图标元素呈现在屏幕上。
通过以上步骤S901-S908,实现了扇形用户界面对滑动动作的响应,其响应结果为标签的切换,而且上述切换给用户带来的视觉效果是原标签的所有应用图标相对于扇形圆心旋转出屏幕,新标签的应用图标相对于扇形圆心旋转进入屏幕,实现了标签的平滑切换。
进一步的,在实现标签的切换的同时,也可实现标签指示器的切换。具体为:执行旋转动画方法,将第2层响应区域的有效区域中的标签指示器移动至上述第二区块索引值对应的标签元素处。
在本方法中,扇形用户界面为用户提供了便捷的打开UI元素对应的应用的入口,这个入口是全局的,解决了用户在使用智能终端时查找应用困难的问题。移动设备根据用户的触发动作显示该扇形用户界面,触发方便灵活,不会影响其它应用的操作,也不会影响整体用户界面的美观。扇形用户界面包含n层响应区域,每层响应区域都可呈现一个或多个UI元素,这样所能提供的应用数量很多。通过对手势判断,可向用户提供滑动呼出界面、切换标签、点击打开应用等丰富的手势操作。
本方法中扇形用户界面的第2层扇形区域可呈现多个标签元素,每个标签元素对应于属于同一类的应用,从而有针对性的向用户提供不同类的应用,符合用户查找应用的需求,使查找方式更为便捷,查找效率更高。扇形用户界面的主界面可显示在屏幕的右下方(左下方),用户使用单拇指就可使实现对扇形用户界面的操作,而且左右手都可以使用。而且,本方法中扇形用户界面及UI元素能够以丰富的动画效果进行显示,为用户提供流畅的UI交互方式。
图10示出了根据本发明一个实施例的移动设备的结构框图。如图10所示,移动设备包括:检测器70、第一显示器71、计算器72和第二显示器73。
其中,检测器70适于检测对移动设备的触发动作。检测器70是通过检测用户对移动设备的触发动作来触发用户界面的显示。其中触发动作可以为:指定按钮的点击或双击动作;或者,从屏幕右下角开始向左上方向的滑动动作;或者,从屏幕左下角开始向右上方向的滑动动作;或者,从屏幕右上角开始向左下方向的滑动动作;或者,从屏幕左上角开始向右下方向的滑动动作;或者,从屏幕一侧边开始向另一侧边方向的滑动动作;等等。本发明不仅限于上述触发动作。如图2所示,基于该移动设备提供的屏幕,用户可采用从屏幕右下角开始向左上方向的滑动动作来呼出用户界面,用户界面将显示在屏幕的右下角区域。移动设备可以为该滑动动作设定有效区间,如果以屏幕右下角为原点建立坐标系,该有效区间可设为角度区间[110°,210°],该角度区间的确定是基于与手势相关的矢量,该矢量的起始点不一定在坐标系原点。如果用户的滑动动作的矢量角度在有效区间内,检测器70会捕捉到该动作,进而触发呼出用户界面。具体判定也可依赖能表征角度的正切值。例如,将有效区间设定为正切值区间,如[tg110°,tg210°],在检测器70检测到对移动设备的滑动动作之后,根据滑动动作的起始点坐标和终止点坐标计算滑动动作的矢量角度的正切值,判断该正切值是否在上述正切值区间之内,若是,才会触发呼出用户界面。如图3所示,移动设备的屏幕的左下角显示有扇形标记30,该扇形标记30用于指示用户可采用从屏幕左下角开始向右上方向的滑动动作来呼出用户界面,移动设备也可为从屏幕左下角开始向右上方向的滑动动作设定有效区间。图2和图3仅为本发明的两个示例,不能理解为对本发明的限制。
第一显示器71适于响应于检测器70检测的触发动作,显示n层响应区域并在每层响应区域的有效区域显示非透明图片。以具有4层响应区域的用户界面为例进行说明,如图4所示,其所示出的用户界面具有4层响应区域,且该4层响应区域均为透明矩形,这4层响应区域的一角或一侧边是重合的。具体来说,如果扇形用户界面需要显示在屏幕的某一角对应的角落区域,这4层响应区域的一角重合在屏幕的这一角;如果扇形用户界面需要显示在屏幕的某一侧对应的侧边区域,这4层响应区域的一侧边重合在屏幕的这一侧边。第m层响应区域大于第m-1层响应区域,m∈[2,n]。即,从第1层响应区域开始,各层响应区域是依次增大的。由于响应区域为透明矩形,所以在图4中并未看出矩形形状的响应区域,也就是说用户对响应区域是无感知的。在显示每层响应区域的同时,在每层响应区域的有效区域显示非透明图片。鉴于每层响应区域的有效区域显示了非透明图片,所以在图4中可以看出各层响应区域的有效区域。如图4所示,第1层响应区域的有效区域40为扇形区域,第2层响应区域的有效区域41、第3层响应区域的有效区域42和第4层响应区域的有效区域43都为扇环区域,这4层响应区域的有效区域之间互不重叠。为了更为清楚的展现一层响应区域中有效区域和除有效区域之外的其它区域(即无效区域)的关系,如图5所示,第2层响应区域为矩形区域50,第2层响应区域的有效区域52为扇环区域,除了扇环区域之外的其它区域为无效区域51。其中,有效区域是指对用户的触发动作做出响应的区域,无效区域是指对用户的触发动作不会做出响应的区域。只有当触发动作发生的位置属于第2层响应区域的有效区域52时,才会在第2层响应区域响应该触发动作。可选地,第一显示器71进一步适于:对于第m层响应区域,在第m层响应区域的开始呈现时间到达之后呈现第m层响应区域和第m层响应区域对应的非透明图片;其中,第m层响应区域的开始呈现时间为第1层至第m-1层响应区域的呈现时间的总和。也就是说,在第1层至第m-1层响应区域呈现完毕之后,第m层响应区域开始呈现,通过这种技术处理方式,可以达到层与层之间的平滑衔接。可选地,显示每层响应区域和其对应的非透明图片可以通过执行缩放动画方法来实现,例如Android系统提供的缩放动画方法(ScaleAnimation),以屏幕右下角(或左下角)为参考点缩放,呼出时缩放值为从0至100%。对应的,在关闭时也可以采用同样的方法,缩放值为从100%至0。当然,这m层响应区域及非透明图片还可以采用本领域任何方式来显示,例如同时显示这m层响应区域及非透明图片。
计算器72适于计算一个或多个用户界面元素的显示位置。计算器72进一步适于:根据每层响应区域的预设半径和与用户界面元素对应的该层响应区域的有效区域的区块索引值计算该层响应区域内所呈现的用户界面元素的位置,区块索引值是指响应区域的有效区域被划分的若干个区块之一的索引值。具体地,UI元素的位置可由Positions类统一计算。Positions类是负责计算所有UI元素的位置的工具类,它计算的坐标以屏幕右下角(也可是屏幕左下角、左上角、右上角或侧边某点)为原点,并提供和系统坐标的转换。关于Positions类的具体内容请参见方法实施例的描述。以图5所示的第2层响应区域为例,第2层响应区域的有效区域被划分为3个区块,“刚打开”对应的区块索引值为1,“最常用”对应的区块索引值为2,“新安装”对应的区块索引值为3。以计算UI元素“最常用”的位置为例,首先根据该UI元素对应的第2层响应区域的有效区域的区块索引值2获取UI元素位置相对于原点(如屏幕右下角)的角度;然后根据第2层响应区域的预设半径和角度计算UI元素位置的x和y坐标,由此得到UI元素的准确位置,设预设半径为r0,角度为θ,由此计算得到UI元素位置的x坐标为r0*cosθ,y坐标为r0*sinθ。其中,第2层响应区域的预设半径r0为介入r和R之间的值。依此类推,计算出所有UI元素的显示位置,在扇形UI的每层扇形区域上呈现各自的UI元素。
第二显示器73适于根据计算器72的计算结果,在每层响应区域的有效区域上呈现用户界面元素。如图6所示,在第1层响应区域的有效区域上呈现用于实现关闭UI功能的关闭UI元素,当用户点击该关闭UI元素时,整个UI界面就会关闭。在第2层响应区域的有效区域上呈现多个标签元素,分别为“刚打开”、“最常用”和“新安装”。这3个标签元素对应3个子类,分别为“最近打开”、“最常使用”和“最新安装”,“最近打开”取桌面统计数据,按照最近使用的时间排序,取排序结果的前9个应用;“最常使用”取桌面统计数据,按照使用次数由高到低排序,取排序结果前9个应用;“最新安装”取(移动设备的)系统数据库提供的数据,按照应用更新时间排序,取排序结果的前9个应用。这三个子类继承Section类,实现抽象接口来提供数据。关于Section类的具体内容请参见方法实施例的描述。在第3层和第4层响应区域的有效区域上呈现多个应用图标元素,这些应用图标元素为当前标签元素对应的子类所统计出的应用的图标,以图6为例,在第2层响应区域的有效区域中,当前标签元素为“最常用”,那么在第3层和第4层所呈现的就是按照使用次数由高到低排序排在前9个的应用的图标。注意,本例在第2层响应区域的有效区域上程序了三个标签元素,当然也可以多于或少于三个标签元素,在此不一一列举。第二显示器73进一步适于:对于第m层响应区域,在第m层响应区域上用户界面元素的开始呈现时间到达之后,在第m层响应区域的有效区域上以从上到下的顺序呈现用户界面元素;其中,第m层响应区域上用户界面元素的开始呈现时间为第1层至第m-1层响应区域上用户界面元素的呈现时间的总和。也就是说,在第1层至第m-1层响应区域的有效区域内的UI元素呈现完毕之后,在第m层响应区域的有效区域内开始呈现UI元素,这样在各层之间UI元素的显示达到平滑衔接。可选地,呈现应用图标元素时可以采用Android系统提供的平移动画方法(TranslateAnimation),从屏幕右下角移动到所计算出的显示位置。为了实现弹性效果,每个应用图标元素的动画可分为三段。在应用图标元素收起时,反方向执行动画即可。
在呈现UI元素之后,用户可对扇形用户界面执行各种触发动作。移动设备检测到这些触发动作后,对触发动作做出相应的响应。以图6为例,若移动设备检测到用户点击第1层响应区域的有效区域内的关闭UI元素,则收起整个扇形用户界面;若移动设备检测到用户点击第2层响应区域的有效区域内的某个标签元素,则将该标签元素对应的应用图标元素呈现在第3层和第4层响应区域的有效区域;若移动设备检测到用户点击第3层或第4层响应区域的有效区域的某个应用图标元素,则打开该应用图标元素对应的应用。
在本发明提供的移动设备中,扇形用户界面为用户提供了便捷的打开UI元素对应的应用的入口,这个入口是全局的,解决了用户在使用智能终端时查找应用困难的问题。移动设备根据用户的触发动作显示该扇形用户界面,触发方便灵活,不会影响其它应用的操作,也不会影响整体用户界面的美观。扇形用户界面包含n层响应区域,每层响应区域都可呈现一个或多个UI元素,这样所能提供的应用数量很多。通过对手势判断,可向用户提供滑动呼出界面、切换标签、点击打开应用等丰富的手势操作。
在本发明提供的移动设备中,扇形用户界面的第2层扇形区域可呈现多个标签元素,每个标签元素对应于属于同一类的应用,从而有针对性的向用户提供不同类的应用,符合用户查找应用的需求,使查找方式更为便捷,查找效率更高。扇形用户界面的主界面可显示在屏幕的右下方(左下方),用户使用单拇指就可使实现对扇形用户界面的操作,而且左右手都可以使用。而且,本移动设备中扇形用户界面及UI元素能够以丰富的动画效果进行显示,为用户提供流畅的UI交互体验。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的终端设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本文公开了A1、一种用于移动设备的用户界面实现方法,其包括检测对移动设备的触发动作;响应于所述触发动作,显示n层响应区域,n>1,所述响应区域为透明矩形,这n层响应区域的一角或一侧边重合,其中第m层响应区域大于第m-1层响应区域,m∈[2,n];第1层响应区域的有效区域为扇形区域,第2层至第n层响应区域的有效区域为扇环区域;n层响应区域的有效区域之间互不重叠;计算一个或多个用户界面元素的显示位置,在每层响应区域的有效区域上呈现所述用户界面元素。A2、根据A1所述的方法,其中,在显示每层响应区域的同时,在每层响应区域的有效区域显示非透明图片。A3、根据A2所述的方法,其中,所述显示n层响应区域,以及在每层响应区域的有效区域显示非透明图片进一步包括:对于第m层响应区域,在第m层响应区域的开始呈现时间到达之后呈现第m层响应区域和第m层响应区域对应的非透明图片;其中,所述第m层响应区域的开始呈现时间为第1层至第m-1层响应区域的呈现时间的总和。A4、根据A1至A3中任一项所述的方法,其中,所述计算一个或多个用户界面元素的显示位置进一步包括:根据每层响应区域的预设半径和与用户界面元素对应的该层响应区域的有效区域的区块索引值计算该层响应区域内所呈现的用户界面元素的位置,所述区块索引值为所述响应区域的有效区域被划分的若干个区块之一的索引值。A5、根据A4所述的方法,其中,所述在每层响应区域的有效区域上呈现所述用户界面元素进一步包括:对于第m层响应区域,在第m层响应区域上用户界面元素的开始呈现时间到达之后,在第m层响应区域的有效区域上以从上到下的顺序呈现所述用户界面元素;其中,所述第m层响应区域上用户界面元素的开始呈现时间为第1层至第m-1层响应区域上用户界面元素的呈现时间的总和。A6、根据A1所述的方法,所述触发动作包括:指定按钮的点击或双击动作;或者,从屏幕右下角开始向左上方向的滑动动作;或者,从屏幕左下角开始向右上方向的滑动动作;或者,从屏幕右上角开始向左下方向的滑动动作;或者,从屏幕左上角开始向右下方向的滑动动作;或者,从屏幕一侧边开始向另一侧边方向的滑动动作。A7、根据A1所述的方法,其中,所述在每层响应区域的有效区域上呈现所述用户界面元素进一步包括:在第1层响应区域的有效区域上呈现用于实现关闭用户界面功能的关闭用户界面元素;在第2层响应区域的有效区域上呈现多个标签元素;在第3层至第n层响应区域的有效区域上呈现多个应用图标元素。
本文公开了B8、一种移动设备,其包括检测器,适于检测对移动设备的触发动作;第一显示器,适于响应于所述触发动作,显示n层响应区域,n>1,所述响应区域为矩形区域,这n层响应区域的一角或一侧边重合,其中第m层响应区域大于第m-1层响应区域,m∈[2,n];第1层响应区域的有效区域为扇形区域,第2层至第n层响应区域的有效区域为扇环区域;n层响应区域的有效区域之间互不重叠;计算器,适于计算一个或多个用户界面元素的显示位置;第二显示器,适于根据所述计算器的计算结果,在每层响应区域的有效区域上呈现所述用户界面元素。B9、根据B8所述的移动设备,其中,所述第一显示器还适于在显示每层响应区域的同时,在每层响应区域的有效区域显示非透明图片。B10、根据B9所述的移动设备,其中,所述第一显示器进一步适于:对于第m层响应区域,在第m层响应区域的开始呈现时间到达之后呈现第m层响应区域和第m层响应区域对应的非透明图片;其中,所述第m层响应区域的开始呈现时间为第1层至第m-1层响应区域的呈现时间的总和。B11、根据B8至B10中任一项所述的移动设备,所述计算器进一步适于:根据每层响应区域的预设半径和与用户界面元素对应的该层响应区域的有效区域的区块索引值计算该层响应区域内所呈现的用户界面元素的位置,所述区块索引值为所述响应区域的有效区域被划分的若干个区块之一的索引值。B12、根据B11所述的移动设备,所述第二显示器进一步适于:对于第m层响应区域,在第m层响应区域上用户界面元素的开始呈现时间到达之后,在第m层响应区域的有效区域上以从上到下的顺序呈现所述用户界面元素;其中,所述第m层响应区域上用户界面元素的开始呈现时间为第1层至第m-1层响应区域上用户界面元素的呈现时间的总和。B13、根据B8所述的移动设备,所述检测器进一步适于检测对移动设备的以下触发动作:指定按钮的点击或双击动作;或者,从屏幕右下角开始向左上方向的滑动动作;或者,从屏幕左下角开始向右上方向的滑动动作;或者,从屏幕右上角开始向左下方向的滑动动作;或者,从屏幕左上角开始向右下方向的滑动动作;或者,从屏幕一侧边开始向另一侧边方向的滑动动作。B14、根据B8所述的移动设备,所述第二显示器进一步适于:在第1层响应区域的有效区域上呈现用于实现关闭用户界面功能的关闭用户界面元素;在第2层响应区域的有效区域上呈现多个标签元素;在第3层至第n层响应区域的有效区域上呈现多个应用图标元素。