CN101110852A - 一种自动调整菜单焦点位置的方法 - Google Patents
一种自动调整菜单焦点位置的方法 Download PDFInfo
- Publication number
- CN101110852A CN101110852A CNA2007101272037A CN200710127203A CN101110852A CN 101110852 A CN101110852 A CN 101110852A CN A2007101272037 A CNA2007101272037 A CN A2007101272037A CN 200710127203 A CN200710127203 A CN 200710127203A CN 101110852 A CN101110852 A CN 101110852A
- Authority
- CN
- China
- Prior art keywords
- menu item
- predetermined weights
- menu
- current weight
- carry out
- 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.)
- Granted
Links
Landscapes
- Digital Computer Display Output (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种自动调整菜单焦点位置的方法,包括配置阶段和操作阶段;所述配置阶段包括:为每个菜单项定义初始的当前权值,及菜单焦点的初始位置;所述操作阶段包括:根据用户所操作的菜单项调整相应菜单项的当前权值;根据菜单项的当前权值的改变,相应改变菜单焦点所在位置。采用了本发明的方案后,能够使菜单焦点自动调整到近期内用户使用率最高的菜单项上,方便用户的操作,减少不必要的操作。
Description
技术领域
本发明涉及菜单结构,尤其涉及一种自动调整菜单焦点位置的方法。
背景技术
随着移动通信终端设备功能的增加,特别在未来3G业务中,新业务新功能层出不穷,菜单内容越来越多,菜单的焦点位置成为影响设备可用性的关键因素之一。
影响该可用性的一个重要因素就是菜单功能列表,用户可能因不同的喜好而对菜单功能使用优先级不同。以短信模块为例,对于普通用户来说,新建短信的可能性比较大,因此可以把“新建”功能排在第一位,而对于经常收发短消息的用户来说,使用“收件箱”的菜单比较多,因此如果总是把“新建”菜单项放在第一位,那么对于经常回复短信的用户来说,至少需要多进行一次操作。这样一来,不仅影响产品的可用性,也因为一些不必要的操作而影响产品的寿命。
在未来的3G时代,终端设备将承担大量的数据处理业务,而自身的资源和处理速度有限的情况下,如果再增加一些不必要的操作,不仅耗费系统资源,而且也影响到产品的稳定性。而且会使用户的操作复杂化;对于一些依靠电池维持运行的终端设备来说,这些不必要的操作会对电能造成浪费。
发明内容
本发明要解决的问题是提供一种自动调整菜单焦点位置的方法,能够根据用户使用频次的高低来调整菜单焦点位置,从而简化用户和相应设备的操作,节省了设备资源。
本发明采用的技术方案是:
一种自动调整菜单焦点位置的方法,包括配置阶段和操作阶段;
所述配置阶段包括:为每个菜单项定义初始的当前权值,及菜单焦点的初始位置;
所述操作阶段包括:根据用户所操作的菜单项调整相应菜单项的当前权值;根据菜单项的当前权值的改变,相应改变菜单焦点所在位置。
进一步的,所述根据用户所操作的菜单项调整相应菜单项的当前权值是指:当操作焦点所在菜单项时改变其它菜单项的当前权值;当操作非焦点所在菜单项时,改变所操作菜单项的当前权值。
进一步的,所述配置阶段还包括:
为每个菜单项定义初始的预定权值;各菜单项的初始预定权值互不相同,各菜单项的初始预定权值等于其本身的初始当前权值;菜单焦点的初始位置在预定权值最小的菜单项上。
进一步的,所述操作阶段具体包括:
A、当操作预定权值最小的菜单项时执行B1,否则执行B2;
B1、增大其它菜单项的当前权值;判断增大后所述其它菜单项中是否有菜单项的当前权值大于本菜单项的预定权值,如果没有则直接执行C;如果有,则对这些当前权值大于预定权值的菜单项做下面的操作:使其当前权值等于各自的预定权值,然后执行C;
B2、减小该菜单项的当前权值;判断减小后所操作菜单项的当前权值是否小于前一项菜单项的预定权值,如果不小于则直接执行C;如果小于则交换所操作菜单项和其前一项菜单项的预定权值,然后使这两个菜单项的当前权值等于各自的预定权值,执行C;
C、将菜单焦点对应于预定权值最小的菜单项。
进一步的,步骤B2中:所述前一项菜单项是指预定权值小于所操作菜单项预定权值、并且其预定权值与所操作菜单项预定权值之差最小的菜单项。
进一步的,所述配置阶段还包括:
为每个菜单项定义初始的预定权值;各菜单项的初始预定权值互不相同,各菜单项的初始预定权值等于其本身的初始当前权值;菜单焦点的初始位置在预定权值最大的菜单项上。
进一步的,所述操作阶段具体包括:
a、当操作预定权值最大的菜单项时执行b1,否则执行b2;
b1、减小其它菜单项的当前权值;判断减小后所述其它菜单项中是否有菜单项的当前权值小于本菜单项的预定权值,如果没有则直接执行c;如果有,则对这些当前权值小于预定权值的菜单项做下面的操作:使其当前权值等于各自的预定权值,然后执行c;
b2、增大该菜单项的当前权值;判断增大后所操作菜单项的当前权值是否大于前一项菜单项的预定权值,如果不大于则直接执行c;如果大于则交换所操作菜单项和其前一项菜单项的预定权值,然后使这两个菜单项的当前权值等于各自的预定权值,执行c;
c、将菜单焦点对应于预定权值最大的菜单项。
进一步的,步骤b2中:所述前一项菜单项是指预定权值大于所操作菜单项预定权值、并且其预定权值与所操作菜单项预定权值之差最小的菜单项。
采用了本发明的方案后,能够使菜单焦点自动调整到近期内用户使用率最高的菜单项上,方便用户的操作,减少不必要的操作。
附图说明
图1是本发明的根据用户操作习惯自动调整菜单焦点位置的具体实施流程图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
本发明的核心思想是:事先为每个菜单项设定一个预定权值和当前权值;当菜单项被操作时,每操作一次修改该菜单项的当前权值;菜单焦点自动聚焦到当前权值最大(或最小)的菜单项上,从而实现根据用户操作习惯定位菜单焦点的聚焦项,以减少用户按键次数。可以但不限于设定一个权值变化量,每次按照该变化量修改当前权值。
本发明的方法具体步骤如下,包括配置阶段和操作阶段:
在配置阶段,定义动态菜单的数据结构,并根据实际菜单内容进行定义和初始化,为每个菜单项定义初始的预定权值和当前权值,并定义权值变化量,权值变化量可以为正也可以为负。各菜单项的初始预定权值互不相同,各菜单项的初始当前权值等于各自的初始预定权值。比如:将菜单项“信息”、“多媒体”和“游戏”的初始预定权值分别设定为2、6、8,它们的初始当前权值即分别为2、6、8。
可以将默认为操作最频繁的菜单项的初始预定权值设置为所有菜单项中最大的;相应的,将菜单焦点的位置对应于预定权值最大的菜单项;也就相当于将菜单焦点位置对应于当前权值最大的菜单项。
也可以将默认为操作最频繁的菜单项的初始预定权值设置为所有菜单项中最小的;相应的,将菜单焦点的位置对应于预定权值最小的菜单项;也就相当于将菜单焦点位置对应于当前权值最小的菜单项。
在操作阶段,当用户操作某一项菜单时,对相应菜单项的当前权值进行调整,具体实现方法按照菜单焦点的位置设定的不同而不同,下面分两种情况具体说明。
情况一、菜单焦点位置设置在在预定权值最小的菜单项上,操作阶段具体包括如下步骤:
A、用户操作一项菜单项。
B、判断所操作菜单项是否为预定权值最小的菜单项,如果是则进行B1;否则进行B2。
B1、增大其它菜单项的当前权值。如果增大后所述其它菜单项中有菜单项的当前权值大于本菜单项的预定权值,则对这些当前权值大于预定权值的菜单项做下面的操作:使其当前权值等于各自的预定权值。
当用户再次进入菜单操作界面时执行C。
B2、减小该菜单项的当前权值。如果减小后所操作菜单项的当前权值小于前一项菜单项的预定权值,则交换所操作菜单项和其前一项菜单项的预定权值,然后使这两个菜单项的当前权值等于各自的预定权值。
当用户再次进入菜单操作界面时执行C。
C、将菜单焦点对应于预定权值最小的菜单项。
所述前一项菜单项是指这样的菜单项:其预定权值小于所操作菜单项预定权值、并且其预定权值与所操作菜单项预定权值之差最小。比如共有三个菜单项,分别为“信息”、“多媒体”和“游戏”,其预定权值分别为2、6、8,则“游戏”的前一项菜单项是指“多媒体”;“多媒体”的前一项菜单项是指“信息”。
当调整菜单焦点位置时,所述预定权值最小的菜单项就是当前权值最小的菜单项,所以将菜单焦点对应于预定权值最小的菜单项也就相当于将菜单焦点对应于当前权值最小的菜单项。
情况二、如果菜单焦点位置设置在预定权值最大的菜单项上:
a、用户操作一项菜单项。
b、判断所操作菜单项是否为预定权值最大的菜单项,如果是则进行b1;否则进行b2。
b1、减小其它菜单项的当前权值。如果减小后所述其它菜单项中有菜单项的当前权值小于本菜单项的预定权值,则对这些当前权值小于预定权值的菜单项做下面的操作:使其当前权值等于各自的预定权值。
当用户再次进入菜单操作界面时执行c。
b2、增大该菜单项的当前权值。如果增大后所操作菜单项的当前权值是大于前一项菜单项的预定权值,则交换所操作菜单项和其前一项菜单项的预定权值,然后使这两个菜单项的当前权值等于各自的预定权值。
当用户再次进入菜单操作界面时执行c。
c、将菜单焦点对应于预定权值最大的菜单项。
所述前一项菜单项是指这样的菜单项:其预定权值大于所操作菜单项预定权值、并且其预定权值与所操作菜单项预定权值之差最小。比如共有三个菜单项,分别为“信息”、“多媒体”和“游戏”,其预定权值分别为9、5、1,则“游戏”的前一项菜单项是指“多媒体”;“多媒体”的前一项菜单项是指“信息”。
当调整菜单焦点位置时,所述预定权值最大的菜单项就是当前权值最大的菜单项,所以将菜单焦点对应于预定权值最大的菜单项也就相当于将菜单焦点对应于当前权值最大的菜单项。
上述减小和增大菜单项当前权值的幅度即所述权值变化量,其大小根据调整所需要的敏感度而定;所述敏感度越高则将所述权值变化量定的越大;如果希望非焦点所在菜单项被操作频次略微多于焦点所在菜单项时就调整焦点,则说明需要的敏感度高;如果希望非焦点所在菜单项被操作频次大大多过焦点所在菜单项时才调整,则说明需要的敏感度低。
下面用本发明的一应用实例进一步加以说明,如图1所示,包括:
配置阶段:
第一步:定义动态菜单的数据结构。
例如:定义菜单的基本数据结构如下:
stmct TmnuState{
定义菜单名字为字符类型:
char*strMenuName;
定义预定权值为浮点类型:
float fltFixR;
定义当前权值为浮点类型:
float flt VarR;
...
};
第二步:根据实际菜单内容进行定义和初始化。
例如:系统的一级菜单排序如下1)“信息”,2)“电话菜单”,3)“多媒体”,4)“情景模式”,5)“设置”,6)“日程表”,7)“工具箱”,8)“游戏”,9)“STK”。
1)定义
定义菜单项:
menuState FirMenu[9];
定义权值变化量;
float fltVuite;
2)初始化
for int i=0,8
{
FirMenu[i].fltfixR=(float)i;
FirMenu[i].fltVarR=(float)i;
}
FirMenu[0].strMenuName=”信息”;
FirMenu[1].strMenuName=”电话菜单”;
FirMenu[2].strMenuName=”多媒体”;
FirMenu[3].strMenuName=”情景模式”;
FirMenu[4].strMenuName=”设置”;
FirMenu[5].strMenuName=”日程表”;
FirMenu[6].strMenuName=”工具箱”;
FirMenu[7].strMenuName=”游戏”;
FirMenu[8].strMenuName=”STK”;
fltVuite=-0.2;
可以将菜单的初始排序进行存储,在需要时进行恢复。
本应用实例中各菜单项的初始预定权值和当前权值按照索引值的增大依次增大;焦点的初始位置在预定权值最小的菜单项上,即索引值为0的菜单项“信息”上。
操作阶段:
用户选择 “确认”操作或者数字快捷键:
1)当用户所操作的菜单项是焦点所在菜单项,本实例中即索引值为0的菜单项,则提高其它菜单项——即索引值大于或等于1的菜单项的当前权值,本实例中权值变化量为负数,因此提高当前权值的方法即减去权值变化量;如果提高后的当前权值大于预定权值,则设这些菜单项的当前权值等于其自身的预定权值。
2)当用户所操作的菜单项不是焦点所在菜单项时,减小所操作菜单项的当前权值,本实例中即加上权值变化量;如果其当前权值小于上一菜单项的预定权值,则交换两个菜单项的预定权值,并使这两个菜单项的当前权值等于预定权值。
实现的代码如下:
switch(FocusIdx)
{
case 0:
当用户操作菜单列表第一项时进行的处理是提高第二项及以后各菜单项的当前权值:
for(i=1;i<=8;i++)
{
FirMenu[i].fltVarR-=fltVuite;
如果提高后的当前权值大于预定权值,则使当前权值等于其预定权值。
If(FirMenu[i].fltVarR>FirMenu[i].fltFixR)
{
FirMenu[i].fltVarR=FirMenu[i].fitFixR;
}
}
break;
default:
当用户操作的菜单不是焦点所在菜单项时进行的处理是减小菜单项对应的当前权值:
FirMenu[FocusIdx].fitVarR+=fitVuite;
如果当前权值小于相邻的上一菜单项的预定权值,则交换两个菜单子项的预定权值,然后使两者的当前权值等于自身的预定权值。
If(FirMenu[FocusIdx].fltVarR<FirMenu[FocusIdx-1].fitFixR)
{
float Tmpval;
Tmpval=FirMenu[FocusIdx-1].fltfixR;
FirMenu[FocusIdx-1].fitfixR=FirMenu[FocusIdx].fltfixR;
FirMenu[FocusIdx].fltfixR=Tmpval;
...
}
break;
}
当用户再次进入菜单操作界面时,将菜单焦点对应于预定权值/当前权值最小的菜单项。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (8)
1.一种自动调整菜单焦点位置的方法,包括配置阶段和操作阶段;
所述配置阶段包括:为每个菜单项定义初始的当前权值,及菜单焦点的初始位置;
所述操作阶段包括:根据用户所操作的菜单项调整相应菜单项的当前权值;根据菜单项的当前权值的改变,相应改变菜单焦点所在位置。
2.如权利要求1所述的方法,其特征在于,所述根据用户所操作的菜单项调整相应菜单项的当前权值是指:
当操作焦点所在菜单项时改变其它菜单项的当前权值;当操作非焦点所在菜单项时,改变所操作菜单项的当前权值。
3.如权利要求1所述的方法,其特征在于,所述配置阶段还包括:
为每个菜单项定义初始的预定权值;各菜单项的初始预定权值互不相同,各菜单项的初始预定权值等于其本身的初始当前权值;菜单焦点的初始位置在预定权值最小的菜单项上。
4.如权利要求3所述的方法,其特征在于,所述操作阶段具体包括:
A、当操作预定权值最小的菜单项时执行B1,否则执行B2;
B1、增大其它菜单项的当前权值;判断增大后所述其它菜单项中是否有菜单项的当前权值大于本菜单项的预定权值,如果没有则直接执行C;如果有,则对这些当前权值大于预定权值的菜单项做下面的操作:使其当前权值等于各自的预定权值,然后执行C;
B2、减小该菜单项的当前权值;判断减小后所操作菜单项的当前权值是否小于前一项菜单项的预定权值,如果不小于则直接执行C;如果小于则交换所操作菜单项和其前一项菜单项的预定权值,然后使这两个菜单项的当前权值等于各自的预定权值,执行C;
C、将菜单焦点对应于预定权值最小的菜单项。
5.如权利要求4所述的方法,其特征在于,步骤B2中:所述前一项菜单项是指预定权值小于所操作菜单项预定权值、并且其预定权值与所操作菜单项预定权值之差最小的菜单项。
6.如权利要求1所述的方法,其特征在于,所述配置阶段还包括:
为每个菜单项定义初始的预定权值;各菜单项的初始预定权值互不相同,各菜单项的初始预定权值等于其本身的初始当前权值;菜单焦点的初始位置在预定权值最大的菜单项上。
7.如权利要求6所述的方法,其特征在于,所述操作阶段具体包括:
a、当操作预定权值最大的菜单项时执行b1,否则执行b2;
b1、减小其它菜单项的当前权值;判断减小后所述其它菜单项中是否有菜单项的当前权值小于本菜单项的预定权值,如果没有则直接执行c;如果有,则对这些当前权值小于预定权值的菜单项做下面的操作:使其当前权值等于各自的预定权值,然后执行c;
b2、增大该菜单项的当前权值;判断增大后所操作菜单项的当前权值是否大于前一项菜单项的预定权值,如果不大于则直接执行c;如果大于则交换所操作菜单项和其前一项菜单项的预定权值,然后使这两个菜单项的当前权值等于各自的预定权值,执行c;
c、将菜单焦点对应于预定权值最大的菜单项。
8.如权利要求7所述的方法,其特征在于,步骤b2中:所述前一项菜单项是指预定权值大于所操作菜单项预定权值、并且其预定权值与所操作菜单项预定权值之差最小的菜单项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101272037A CN100568890C (zh) | 2007-06-28 | 2007-06-28 | 一种自动调整菜单焦点位置的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101272037A CN100568890C (zh) | 2007-06-28 | 2007-06-28 | 一种自动调整菜单焦点位置的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101110852A true CN101110852A (zh) | 2008-01-23 |
CN100568890C CN100568890C (zh) | 2009-12-09 |
Family
ID=39042738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101272037A Active CN100568890C (zh) | 2007-06-28 | 2007-06-28 | 一种自动调整菜单焦点位置的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100568890C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101437082B (zh) * | 2008-11-27 | 2011-07-06 | 华为终端有限公司 | 菜单显示的处理方法及通信设备 |
CN101287222B (zh) * | 2008-06-11 | 2011-07-27 | 华为终端有限公司 | 定位焦点的方法及装置 |
CN103259927A (zh) * | 2013-04-19 | 2013-08-21 | 深圳市金立通信设备有限公司 | 一种调整移动终端菜单位置的方法及移动终端 |
CN103391351A (zh) * | 2012-05-07 | 2013-11-13 | 中兴通讯股份有限公司 | 实现菜单个性化、自动化组织与显示的方法及移动终端 |
CN110703964A (zh) * | 2019-09-30 | 2020-01-17 | 百度在线网络技术(北京)有限公司 | 页面光标位置设置方法、装置、移动终端和服务器 |
-
2007
- 2007-06-28 CN CNB2007101272037A patent/CN100568890C/zh active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101287222B (zh) * | 2008-06-11 | 2011-07-27 | 华为终端有限公司 | 定位焦点的方法及装置 |
CN101437082B (zh) * | 2008-11-27 | 2011-07-06 | 华为终端有限公司 | 菜单显示的处理方法及通信设备 |
CN103391351A (zh) * | 2012-05-07 | 2013-11-13 | 中兴通讯股份有限公司 | 实现菜单个性化、自动化组织与显示的方法及移动终端 |
WO2013166845A1 (zh) * | 2012-05-07 | 2013-11-14 | 中兴通讯股份有限公司 | 实现菜单个性化、自动化组织与显示的方法及移动终端 |
CN103391351B (zh) * | 2012-05-07 | 2016-09-28 | 中兴通讯股份有限公司 | 实现菜单个性化、自动化组织与显示的方法及移动终端 |
CN103259927A (zh) * | 2013-04-19 | 2013-08-21 | 深圳市金立通信设备有限公司 | 一种调整移动终端菜单位置的方法及移动终端 |
CN110703964A (zh) * | 2019-09-30 | 2020-01-17 | 百度在线网络技术(北京)有限公司 | 页面光标位置设置方法、装置、移动终端和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN100568890C (zh) | 2009-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101937363B (zh) | 移动终端的工作模式切换方法及移动终端 | |
CN102595521A (zh) | 通信操作方法、包括双sim卡的便携式装置以及网络系统 | |
CN100530066C (zh) | 根据用户操作习惯自动调整菜单排序的方法 | |
CN103491256B (zh) | 通信处理方法及终端设备 | |
CN103248757A (zh) | 一种消息通知方法及装置 | |
CN104754536A (zh) | 一种不同语言间实现通信的方法和系统 | |
CN102160402A (zh) | 提供对通信组的通信功能的方法、移动通信终端和现状服务器 | |
CN100568890C (zh) | 一种自动调整菜单焦点位置的方法 | |
CN101237256A (zh) | 电子设备及其被其它电子设备通过nfc控制的方法 | |
CN101771953A (zh) | 一种多移动终端间信息交互实现方法及网络设备 | |
CN102960001A (zh) | 一种呼叫方法、终端及装置 | |
CN103309641A (zh) | 移动终端及其音量的调节方法 | |
CN104394269B (zh) | 一种通话控制方法及移动终端 | |
CN101834943A (zh) | 一种切换移动终端工作模式的方法及装置 | |
CN105262881A (zh) | 一种通信控制方法及电子设备 | |
CN105657868A (zh) | 移动终端及其接口控制方法 | |
CN102970431A (zh) | 一种手机模式切换方法及手机 | |
CN102932533A (zh) | 一种供第三方应用程序调用联系人的方法和装置 | |
CN101370217B (zh) | 一种优化移动终端操作序列的方法和移动终端 | |
CN102868819A (zh) | 一种处理公共账户下通信业务的方法及装置 | |
CN106878957B (zh) | 广播队列生成方法、装置和终端设备 | |
CN103777838A (zh) | 一种多个消息应答窗口的切换方法、装置 | |
CN101682538B (zh) | 提供邻近小区传输信息 | |
CN102420732B (zh) | 一种家庭组网中的数据服务方法、设备及系统 | |
CN107995645A (zh) | 网络连接方法、移动终端及计算机可读存储介质 |
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 |