专利名称:一种移动终端以及动态调整菜单栏软键显示的方法
技术领域:
本发明涉及移动通信技术领域,尤其涉及一种移动终端以及该移动终端的用户界
面上动态调整菜单栏软键显示的方法。
背景技术:
随着移动通信技术的发展,移动终端已经在全球日益普及,而其UI界面(User Interface,用户图形界面)对于用户来说具有最直观的体验,可能成为用户选择产品的第 一条件,因此合理的界面设计对于移动终端而言是一个很重要的因素。 目前的手机或者其它移动终端,在其用户界面上通常会有各种菜单栏,菜单栏上 会布置一个或多个软键,软键上显示对应的字符串内容。如图l所示,在一般情况下都会在 屏幕底部划分出一块底部条区域作为菜单栏,用以显示菜单按钮,提示用户进行一系列操 作。底部条一般会视情况分为左、中、右三个键,而每个键的长度通常都是设为固定值,例如 根据整个底部条长度进行等分。 但是由于目前手机功能越来越多,底部条需要显示的菜单信息也越来越丰富,同 时手机产品可能会销往其他各个国家,而很多国家和地区的语言文字各不相同。对于同一 功能键可能会出现一个单词的长度超过显示范围的情况,导致底部条上固定分配的长度往 往无法显示完整,而在某些情况下又无法縮写单词,即使勉强縮写,也会给用户造成不好的 体验。 在某一个软键字符串无法显示完整的同时,其他的软键字符串可能很短或者根本 没有显示内容,在固定等分长度的分配原则下,此时多出的空间却不能用于显示无法完整 显示字符串的软键。这就造成了一部分软键显示空间不足,而另一部分软键显示空间浪费 的矛盾情形出现。 因此,这就需要一种可以动态分配类似底部条的多个软键显示位置和长度的技术 方案,来满足多语言环境等复杂情况下,菜单栏的软键能够正常显示对应字符串内容的要 求。
发明内容
本发明所要解决的技术问题在于,提供一种移动终端以及该移动终端的用户界面 上动态调整菜单栏软键显示的方法,解决现有菜单栏上因软键字符串长度差异和固定显示 长度之间的矛盾导致的无法正确显示的问题。。 为了解决上述问题,本发明提出了一种动态调整菜单软键显示的方法,包括如下 步骤 A、获取菜单栏的显示总长度以及菜单栏上全部软键各自的对应字符串长度值和 位置信息; B、根据菜单栏上的字符串长度值为非零的软键个数及非零软键的位置信息分配 各个非零软键的显示位置及显示长度,按所分配的显示位置和显示长度显示所述非零软键,其中 所述各个非零软键的显示长度总和小于或等于所述菜单栏的显示总长度,若非零
软键对应字符串长度值超过软键的显示长度时进行截取或縮写。
所述步骤B中,进一步包括 若所有非零软键对应的字符串长度值均小于或等于按非零软键个数均分所述菜单栏的显示总长度后所得长度均值,则按照非零软键的位置信息分配显示位置,按照所述长度均值作为显示长度,对非零软键进行显示。
所述步骤B中,进一步包括 若任一非零软键对应的字符串长度值大于按非零软键个数均分所述菜单栏的显示总长度后所得长度均值,且非零软键个数为1个,则 按照非零软键的位置信息分配显示位置,分配显示长度为小于或等于菜单栏的显
示总长度的四分之三的长度值,对非零软键进行显示。
所述步骤B中,进一步包括 若任一非零软键对应的字符串长度值大于按非零软键个数均分所述菜单栏的显示总长度后所得长度均值,且非零软键个数为2个,则 按照非零软键的位置信息分配显示位置,分配显示长度为小于或等于菜单栏的显
示总长度的五分之二的长度值,对非零软键进行显示。
所述步骤B中,进一步包括 若任一非零软键对应的字符串长度值大于按非零软键个数均分所述菜单栏的显示总长度后所得长度均值,且非零软键个数为3个,则 获取三个非零软键的字符串长度之和disSum,如果所述菜单栏的显示总长度disMa皿与所述disSum的差小于或等于第一阈值,则获取剩余显示空间的均值disAve =(disSum-disMa皿)/2 ; 按照所述软键的位置信息排列所述软键显示位置,设定第一软键的起始坐标为0,第二软键的起始坐标为第一软键的长度值与所述均值disAve之和,第三软键的起始坐标为菜单栏的显示总长度disMa皿与第三软键的长度值之差,对所述第一、第二、第三软键按分配的显示位置及显示坐标进行动态显示。
所述步骤B中,进一步包括 若任一非零软键对应的字符串长度值大于按非零软键个数均分所述菜单栏的显示总长度后所得长度均值,且非零软键个数为3个,则 获取三个非零软键的字符串长度之和disSum,如果所述菜单栏的显示总长度disMa皿与所述disSum的差大于第一阈值,则获取位置信息分列两端的第一、第三软键的字符串长度差,若该长度差大于设定的第二阈值,则 设定第一软键的起始坐标为0,设定第三软键的起始坐标为菜单栏的显示总长度disManu减去第一软键字符串长度和所述第二阈值后的差值,所述第二软键在剩余显示空间内居中显示。
所述步骤B中,进一步包括 若任一非零软键对应的字符串长度值大于按非零软键个数均分所述菜单栏的显示总长度后所得长度均值,且非零软键个数为3个,则
获取三个非零软键的字符串长度之和disSum,如果所述菜单栏的显示总长度disMa皿与所述disSum的差大于第一阈值,则获取位置信息分列两端的第一、第三软键的字符串长度差,若该长度差小于或等于设定的第二阈值,则 分别设定第一、第二、第三软键的长度值均小于或等于菜单栏的显示总长度
disMa皿的三分之一长度,按照所述第一、第二、第三软键的位置信息分配显示位置,对于超
出菜单栏的显示总长度disMa皿的三分之一长度的字符串进行截取或縮写处理。 所述菜单栏是位于移动终端的用户界面上的底部条、或顶部条、或左侧条、或右侧条。 所述位置信息包括居左位置、居中位置、居右位置。 本发明还提供一种移动终端,包括动态调整菜单栏软键显示的控制模块,该控制模块包括参数获取单元,显示配置单元,显示单元,其中 所述参数获取单元,用于获取菜单栏的显示总长度以及菜单栏上全部软键各自的对应字符串长度值和位置信息; 所述显示配置单元,根据菜单栏上的字符串长度值为非零的软键个数及非零软键的位置信息为各个非零软键分配显示位置及显示长度; 所述显示单元,按所分配的显示位置和显示长度显示所述非零软键,其中 所述各个非零软键的显示长度总和小于或等于所述菜单栏的显示总长度,若非零
软键对应字符串长度值超过为软键分配的显示长度时进行截取或縮写处理。 所述菜单栏是位于移动终端的用户界面上的底部条、或顶部条、或左侧条、或右侧条。
所述位置信息包括居左位置、居中位置、居右位置。 本发明的移动终端及动态调整菜单栏软键显示的方法,可以实现动态分配底部条几个软键显示的位置和长度,使其可以满足各种情况下例如底部条等菜单栏上软键对于字符串显示内容的要求。尤其适用于手机等移动通信终端的用户界面上底部条的左、中、右软键的动态显示,克服了现有采用固定值显示底部条软键的缺陷。
图1是目前手机界面底部条软键显示的示意图; 图2是本发明的动态调整菜单栏软键显示的方法的流程图; 图3是本发明实施例中以底部条为实施例的动态显示流程图; 图4是本发明的移动终端上动态调整菜单栏软键显示的控制模块的功能模块图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。 本发明针对现有移动终端用户界面上的菜单栏上软键显示时,因固定软键长度值而导致字符串长的软键无法显示完整,字符串短的软键浪费显示空间的问题,提出了一种动态调整软键显示的技术方案,可以根据实际情况对软键进行动态显示。
6
如图2所示,本发明的动态调整菜单栏软键显示的方法,包括如下步骤 A、获取菜单栏的显示总长度以及菜单上全部软键各自的对应字符串长度值和位
置信息; B、根据菜单上的字符串长度值为非零的软键个数及非零软键的位置信息分配各个非零软键的显示位置及显示长度,按所分配的显示位置和显示长度显示所述非零软键,其中 所述各个非零软键的显示长度总和小于或等于所述菜单栏的显示总长度,若非零
软键对应字符串长度值超过为该软键分配的显示长度时进行截取或縮写处理。 所述位置信息可以是居左位置、居中位置、居右位置,或者在软键数目多于三个时
是表示位置先后顺序的位置序列信息,例如位置编号。 所述菜单栏可以是位于用户界面上的底部条菜单、或顶部条菜单、或右侧条菜单、或左侧条菜单。 下面将以底部条为例,以底部条设有左、中、右三个软键的实施形式对本发明的动态显示方法进行详细说明。对于其它形式的菜单栏,可参照底部条的实施方式进行处理即可。 在设有左、中、右三个软键的底部条进行动态显示的方法,包括如下步骤 101、读取底部条左、中、右软键分别传入的字符串,并测量传入的每个字符串的长
度,没有字符串的项标记为空; 102、根据各个软键的字符串长度,以及每一项是否为空的信息来确定是否进入动态计算的流程,如果不需要动态计算则采用三等分的普通方式显示; 103、进入动态算法流程,根据是否有为空的项以及为空项的个数,结合每一项字符串的长度信息判断,进入不同的动态计算处理流程; 104、根据不同的动态算法对左、中、右软键显示的显示位置和所占的显示长度进
行动态计算处理,按照所述显示位置和显示长度完成界面上底部条软键的显示。 如图3所示,显示了底部条各个软键动态显示的具体执行流程及动态算法分支。 301,接收需要显示的左、中、右三个软键的字符串信息,如果某一软键没有对应的
字符串信息,则将该软键的字符串标识为空; 302,测量左、中、右三个软键对应字符串分别所占的长度值disleft, dismid和disright,标记字符串为空的软键的属性为1 ;同时还要获取整个底部条的长度信息disMa皿; 303,将整个底部条的长度信息disManu进行三等分获取长度均值disMa皿/3,将每一个软键对应的字符串所占的长度值与长度均值disMa皿/3进行比较;
304,如果每一个软键对应的字符串所占的长度值都小于或等于disMa皿/3,则表示都可以正常显示,不启动动态算法,流程到此结束; 305,如果任一个软键对应的字符串所占的长度值大于disMa皿/3,则进入动态算法流程,首先检查左、中、右三个软键是否都为非空,根据检查结果,可以分为以下三个算法分支 第一分支30A,只有一个软键为非空 30Al,在这种情况下,根据不为空的软键是左、中、右软键的哪一个,按照位置信息分别在整个底部条长度内进行左对齐、居中或右对齐显示; 30A2,但是为了体现软键对应位置的正确性,不至于让用户产生"错位"的感觉,每一项最大显示的长度小于或等于整个底部条总长度的四分之三,超出则采取截取或者縮短字符串的方法处理。 第二分支30B,有两个软键为非空 30Bl,将每一项字符串的长度限定为2*disManu/5 30B2,根据不为空的软键项位置信息以及每项的显示长度2*disManu/5排列显示两个软键。其中 如果是左和右软键不为空,则将底部条长度两等分,左右两边分别采用左对齐和右对齐的方式显示两个软键,为了确保两项不会产生靠得太近不好区分的情况,每一项显示的长度不超过底部条两等分后长度的五分之四,超出同样采取截取或縮短字符串的方法处理; 如果是左和中软键不为空,则取整个底部条前五分之四的长度,将其两等分后,左右两边分别采用左对齐和右对齐的方式显示两个软键,若超出所述采取截取或者縮短字符串的方法处理; 如果是中和右软键不为空,则取整个底部条后五分之四的长度,将其两等分后,左右两边分别采用左对齐和右对齐的方式显示两个软键,若超出采取截取或者縮短字符串的方法处理。
第三分支30C、三个软键都不为空 30Cl、首先计算三个字符串长度之和disSum ; 30C2、判断整个底部条的长度disMa皿减去所述disSum所得差值是否小于或等于一个预先设定好的第一阈值; 30C3、若是,则计算剩余空间的均值disAve = (disS咖-disMa皿)/2 ; 30C4、然后根据这个均值,设定左软键的起始坐标为0,中软键的起始坐标为
(disleft+disAve),右软键的起始坐标为(disMa皿-disright),从而实现三个软键根据实
际长度的动态显示。 30C5、若30C2中判断整个底部条的长度disMa皿减去所述disSum所得差值大于一个预先设定好的第一阈值,则启动左右软键对称显示的算法流程,计算出左右字符串长度之差,设定一个两者相差允许的最大值disLeftRight与左右字符串长度之差进行比较;
30C6 、如果左右字符串长度之差大于最大值di sLef tRight ,则表明左右软键的显示不对称,在显示的位置上容易产生错位的情况,需要分别对左右软键中较长的字符串进行截取处理,假如此时较短的是左软键的字符串,则截取的长度为公式(disleft+disLeft)计算的结果。 30C7、然后根据(disleft+disLeft),设定左软键的其实坐标为O,右软键的起始坐标为(disMa皿-(disleft+disLeft)),而中软键则在左右软键显示后所剩余的空间内居中显示,如果存在显示不完整的情况同样采取作截取处理,从而实现三个软键项根据实际长度的动态及对称的显示。 30C8、如果左右字符串长度之差小于或等于最大值disLeftRight,则表明表示左右软键长度差在设定的对称显示合理范围内,分别对左中右软键按照disMa皿/3的长度限
8制进行设置,超出部分截取处理后; 30C9、然后按照三等分的位置正常显示。到此,整个底部条动态计算的算法流程结束。 基于上述的动态调整菜单栏软键显示的方法,本发明进一步还提供一种应用该动态显示方法的移动终端,如图4所示,包括动态调整菜单栏软键显示的控制模块,该控制模块包括参数获取单元,显示配置单元,显示单元,其中 所述参数获取单元,用于获取菜单栏的显示总长度以及菜单上全部软键各自的对应字符串长度值和位置信息; 所述显示配置单元,根据菜单上的字符串长度值为非零的软键个数及非零软键的位置信息为各个非零软键分配显示位置及显示长度; 所述显示单元,按所分配的显示位置和显示长度显示所述非零软键,其中 所述各个非零软键的显示长度总和小于或等于所述菜单栏的显示总长度,若非零
软键对应字符串长度值超过分配的显示长度时进行截取或縮写处理。 所述显示配置单元,在任一非零软键对应的字符串长度值大于按非零软键个数均分所述菜单栏的显示总长度后所得长度均值,且非零软键个数为1个时进一步,用于按照非零软键的位置信息分配显示位置,分配显示长度为小于菜单栏的显示总长度的四分之三的长度值。 所述显示配置单元,在任一非零软键对应的字符串长度值大于按非零软键个数均分所述菜单栏的显示总长度后所得长度均值,且非零软键个数为2个时进一步,用于按照非零软键的位置信息分配显示位置,分配显示长度为小于菜单栏的显示总长度的五分之二的长度值。 所述显示配置单元,在任一非零软键对应的字符串长度值大于按非零软键个数均分所述菜单栏的显示总长度后所得长度均值,且非零软键个数为3个时,进一步用于获取三个非零软键的字符串长度之和disSum,根据所述菜单栏的显示总长度disMa皿与所述disSum的差是否小于或等于第一阈值,为第一、第二、第三软键按分配的显示位置及显示坐标。
所述位置信息包括居左位置、居中位置、居右位置。 所述位置信息还可以是指示各个软键位置序号的位置信息,例如在菜单栏上配置四个或更多个软键的时候,可采用从菜单栏的一端向另一端按软键排列依次编制的位置序号来表示各个软键的位置信息,例如第一位置、第二位置、第三位置、第四位置等。对于多于三个软键的菜单栏进行动态分配时,可参照上述关于3个软键的实施方式的思想进行。
应用本发明的动态显示的技术方案,可以动态分配底部条几个软键显示的位置和长度,使其可以满足各种情况下底部条软键对于字符串显示内容的要求。尤其适用于手机等移动通信终端的用户界面上底部条的左、中、右软键的动态显示,克服了现有采用固定值显示底部条软键的缺陷。 以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
权利要求
一种动态调整菜单软键显示的方法,其特征在于,包括如下步骤A、获取菜单栏的显示总长度以及菜单栏上全部软键各自的对应字符串长度值和位置信息;B、根据菜单栏上的字符串长度值为非零的软键个数及非零软键的位置信息分配各个非零软键的显示位置及显示长度,按所分配的显示位置和显示长度显示所述非零软键,其中所述各个非零软键的显示长度总和小于或等于所述菜单栏的显示总长度,若非零软键对应字符串长度值超过菜单栏的显示长度时进行截取或缩写。
2. 如权利要求1所述的动态调整菜单软键显示的方法,其特征在于,所述步骤B中,进 一步包括若所有非零软键对应的字符串长度值均小于或等于按非零软键个数均分所述菜单栏 的显示总长度后所得长度均值,则按照非零软键的位置信息分配显示位置,按照所述长度 均值作为显示长度,对非零软键进行显示。
3. 如权利要求1所述的动态调整菜单软键显示的方法,其特征在于,所述步骤B中,进一步包括若任一非零软键对应的字符串长度值大于按非零软键个数均分所述菜单栏的显示总 长度后所得长度均值,且非零软键个数为1个,则按照非零软键的位置信息分配显示位置,分配显示长度为小于或等于菜单栏的显示总 长度的四分之三的长度值,对非零软键进行显示。
4. 如权利要求1所述的动态调整菜单软键显示的方法,其特征在于,所述步骤B中,进一步包括若任一非零软键对应的字符串长度值大于按非零软键个数均分所述菜单栏的显示总 长度后所得长度均值,且非零软键个数为2个,则按照非零软键的位置信息分配显示位置,分配显示长度为小于或等于菜单栏的显示总 长度的五分之二的长度值,对非零软键进行显示。
5. 如权利要求1所述的动态调整菜单软键显示的方法,其特征在于,所述步骤B中,进一步包括若任一非零软键对应的字符串长度值大于按非零软键个数均分所述菜单栏的显示总长度后所得长度均值,且非零软键个数为3个,则获取三个非零软键的字符串长度之和disSum,如果所述菜单栏的显示总长度 disMa皿与所述disSum的差小于或等于第一阈值,则获取剩余显示空间的均值disAve = (disSum-disMa皿)/2 ;按照所述软键的位置信息排列所述软键显示位置,设定第一软键的起始坐标为0,第二 软键的起始坐标为第一软键的长度值与所述均值disAve之和,第三软键的起始坐标为菜 单栏的显示总长度disMa皿与第三软键的长度值之差,对所述第一、第二、第三软键按分配 的显示位置及显示坐标进行动态显示。
6. 如权利要求1所述的动态调整菜单软键显示的方法,其特征在于,所述步骤B中,进 一步包括若任一非零软键对应的字符串长度值大于按非零软键个数均分所述菜单栏的显示总长度后所得长度均值,且非零软键个数为3个,则获取三个非零软键的字符串长度之和disSum,如果所述菜单栏的显示总长度disMa皿 与所述disSum的差大于第一阈值,则获取位置信息分列两端的第一、第三软键的字符串长 度差,若该长度差大于设定的第二阈值,则设定第一软键的起始坐标为0,设定第三软键的起始坐标为菜单栏的显示总长度 disManu减去第一软键字符串长度和所述第二阈值后的差值,所述第二软键在剩余显示空 间内居中显示。
7. 如权利要求1所述的动态调整菜单软键显示的方法,其特征在于,所述步骤B中,进一步包括若任一非零软键对应的字符串长度值大于按非零软键个数均分所述菜单栏的显示总长度后所得长度均值,且非零软键个数为3个,则获取三个非零软键的字符串长度之和disSum,如果所述菜单栏的显示总长度disManu 与所述disSum的差大于第一阈值,则获取位置信息分列两端的第一、第三软键的字符串长 度差,若该长度差小于或等于设定的第二阈值,则分别设定第一、第二、第三软键的长度值均小于或等于菜单栏的显示总长度disManu 的三分之一长度,按照所述第一、第二、第三软键的位置信息分配显示位置,对于超出菜单 栏的显示总长度disMa皿的三分之一长度的字符串进行截取或縮写处理。
8. 如权利要求1至7中任一项所述的动态调整菜单栏软键显示的方法,其特征在于,所 述菜单栏是位于移动终端的用户界面上的底部条、或顶部条、或左侧条、或右侧条。
9. 如权利要求1至7中任一项所述的动态调整菜单栏软键显示的方法,其特征在于,所 述位置信息包括居左位置、居中位置、居右位置。
10. —种移动终端,其特征在于,包括动态调整菜单栏软键显示的控制模块,该控制模 块包括参数获取单元,显示配置单元,显示单元,其中所述参数获取单元,用于获取菜单栏的显示总长度以及菜单栏上全部软键各自的对应 字符串长度值和位置信息;所述显示配置单元,根据菜单栏上的字符串长度值为非零的软键个数及非零软键的位 置信息为各个非零软键分配显示位置及显示长度;所述显示单元,按所分配的显示位置和显示长度显示所述非零软键,其中所述各个非零软键的显示长度总和小于或等于所述菜单栏的显示总长度,若非零软键 对应字符串长度值超过分配的显示长度时进行截取或縮写处理。
11. 如权利要求io所述的移动终端,其特征在于,所述菜单栏是位于移动终端的用户界面上的底部条、或顶部条、或左侧条、或右侧条。
12. 如权利要求10或11中任一项所述的移动终端,其特征在于,所述位置信息包括居左位置、居中位置、居右位置。
全文摘要
本发明公开了一种移动终端以及移动终端上用于动态调整菜单软键显示的方法。在所述方法中,首先,获取菜单栏的显示总长度以及菜单栏上全部软键各自的对应字符串长度值和位置信息;然后,根据菜单栏上的字符串长度值为非零的软键个数及非零软键的位置信息分配各个非零软键的显示位置及显示长度,按所分配的显示位置和显示长度显示所述非零软键,其中所述各个非零软键的显示长度总和小于或等于所述菜单栏的显示总长度,若非零软键对应字符串长度值超过软键的显示长度时进行截取或缩写。应用本发明可实现根据字符串内容对软键进行动态调整显示内容的目的,克服现有采用固定值显示底部条软键的缺陷。
文档编号H04M1/247GK101741954SQ20091026164
公开日2010年6月16日 申请日期2009年12月18日 优先权日2009年12月18日
发明者张雪 申请人:中兴通讯股份有限公司