CN101783905A - 一种电视机界面的控制方法、装置和电视机 - Google Patents
一种电视机界面的控制方法、装置和电视机 Download PDFInfo
- Publication number
- CN101783905A CN101783905A CN201010129183A CN201010129183A CN101783905A CN 101783905 A CN101783905 A CN 101783905A CN 201010129183 A CN201010129183 A CN 201010129183A CN 201010129183 A CN201010129183 A CN 201010129183A CN 101783905 A CN101783905 A CN 101783905A
- Authority
- CN
- China
- Prior art keywords
- focus
- page
- current
- last
- last column
- 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
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种电视机界面的控制方法、装置和电视机,涉及电视机技术领域,能够提高厂商的工作效率和系统资源的利用率,改善界面的显示效果,增强了用户体验。本发明实施例提供的电视机界面的控制方法包括根据输入的控制参数确定当前的显示模式;在所述显示模式下,利用所述控制参数,对焦点进行上移动、下移动、左移动或右移动中的一种操作。本发明适用于需要对多行多列的用户界面进行控制的场合。
Description
技术领域
本发明涉及电视机技术领域,尤其涉及一种电视机界面的控制方法、装置和电视机。
背景技术
在电视系统中,通常都会内置菜单显示功能,利用该功能在电视屏幕上通过多行多列将相应的信息展示给用户,方便用户操作,例如,在屏幕上通过多行多列显示各个电影海报,用户通过上下左右按键进行控制,以选取相应的电影。
然而,在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
现有技术在实现菜单显示时,所采用的行数和列数都是预定的,例如,若预定为2行×4列或3行×3列时,则在这种显示模式下,用户只能对2行×4列或3行×3列的方式进行控制,无法对其它显示模式进行控制,且当系统中存在不同的显示模式时,厂商需要重新编写代码,以实现对该显示模式的控制。现有技术提供的控制菜单显示的方案,操作繁琐且重复劳动,降低了系统资源的利用率,当所需显示的信息较多,或用户有特定的需求时,无法满足用户的需要。
发明内容
为解决现有技术中存在的问题,本发明的实施例提供一种电视机界面的控制方法、装置和电视机。
为达到上述目的,本发明的实施例采用如下技术方案:
一种电视机界面的控制方法,所述方法包括:
根据输入的控制参数确定当前的显示模式;
在所述显示模式下,利用所述控制参数,对焦点进行上移动、下移动、左移动或右移动中的一种操作。
进一步的,所述控制参数包括一页上每行显示的项目数rownum与每列显示的项目数linenum、所显示的总项目数totalnum以及当前焦点的页索引值startID和位置索引值focusID;
其中,startID指示当前焦点所在的页,startID=n×shownum,shownum为rownum与linenum的乘积,n=0、1、2…;focusID指示当前焦点在当前页所有项目中的位置。
进一步的,在所述显示模式下,利用所述控制参数,对焦点进行上移动包括:
当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行上移动;
利用startID确认当前焦点是否在第一页以及利用focusID和rownum确认当前焦点是否在第一行,
当当前焦点不在第一页时,若当前焦点位于第一行,将焦点移动到上一页最后一行的相应位置,若当前焦点不位于第一行,将焦点移动至上一行的相应位置;
当当前焦点在第一页时,若当前焦点不位于第一行,将焦点移动至上一行的相应位置;若当前焦点位于第一行,至少包括如下操作:
根据totalnum和rownum确认若所显示的总项目不超过一行,则不移动焦点;
或者,
根据totalnum、rownum和shownum确认所显示的项目大于一行但不超过一页时,包括:若当前页最后一行存在当前焦点的相应项,将焦点移动到当前页最后一行的相应位置;若当前页最后一行不存在当前焦点的相应项,将焦点移动到当前页最后一行的最后一项;
或者,根据totalnum和shownum确认所显示的项目全部为满页显示,将焦点移动到最后一页最后一行的相应位置;
或者,根据totalnum和shownum确认至少显示了两页时,若最后一页最后一行存在当前焦点的相应项,将焦点移动到最后一页最后一行的相应位置,若最后一页最后一行不存在当前焦点的相应项,将焦点移动到最后一页最后一行的最后一项;
其中,所述的最后一行为所述页中具有显示项目的最后一行。
进一步的,在所述显示模式下,利用所述控制参数,对焦点进行下移动包括:
当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行下移动;
利用focusID和rownum的和获得下移动后新焦点的位置索引值;
其中,当新焦点的位置索引值小于等于shownum时,确认下移动后的新焦点仍在当前页上时,则执行下述处理:
当totalnum小于等于shownum,确认总显示项目不满一页,则存在下面几种处理情况:
若所显示的总项目不超过一行时,则不移动焦点;
或者,若所显示的总项目至少为两行时,若新焦点的位置超过最后一行最后一项所显示的项目,则将焦点移至最后一行的最后一项上;
或者,当前行为最后一行时,将焦点移动至当前页第一行的相应位置;
当totalnum大于shownum,确认总显示的项目数目大于一页,则存在下面几种处理情况:
若焦点在最后一页上,且新焦点的位置超出了当前所显示的最后一行最后一项,且焦点在所显示的最后一行上,则将焦点移动到第一页第一行相应位置上,
或者,若焦点在最后一页上,且新焦点的位置超出了当前所显示的最后一行最后一项,且焦点不在所显示的最后一行上,则将焦点移动到所显示的最后一行最后一项;
或者,若焦点在最后一页上,且新焦点的位置在当前显示的最后一行最后一项上,则将焦点移动到最后一行最后一项;
当新焦点的位置索引值大于shownum时,确认下移动后的新焦点不在当前页上时,则执行下述处理:
若总显示数目不满一页,则新焦点移动到当页第一行的相应位置,或者,
若总显示数目超过一页,且下一页显示超过一行,则新焦点移动到下一页第一行的相应位置,或者,
若总显示数目超过一页,且下一页显示不超过一行,则新焦点移动到下一页第一行的最后一项;
其中,所述的最后一行为所述页中具有显示项目的最后一行。
进一步的,在所述显示模式下,利用所述控制参数,对焦点进行左移动包括:
当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行左移动;
当focusID大于0时,利用focusID和1的差值得到左移动后新焦点的位置索引值,将焦点移动至所述新焦点的位置索引值所指示的位置;
当focusID小于等于0时,包括如下几种处理情况:
当startID为0时,确认焦点在第一页上,则将焦点移动到最后一页最后一行最右侧的位置上或将焦点移动至当前页最后一行最右侧的位置上;
当startID不为0时,确认焦点不在第一页上,则将焦点移动到上一页的最后一行最右侧位置;
其中,所述的最后一行为所述页中具有显示项目的最后一行。
进一步的,在所述显示模式下,利用所述控制参数,对焦点进行右移动包括:
当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行右移动;
通过focusID加1,得到新焦点位置索引值;
若新焦点位置索引值与startID的和大于等于totalnum,将focusID设置为0以及将startID设置0,以将焦点移动到第一页第一行最左侧的位置;
若新焦点位置索引值与startID的和小于totalnum,但新焦点位置索引值大于等于shownum,将focusID设置为0以及将startID设置为startID与shownum的和,以将焦点移动到下一页第一行最左侧的位置上,否则,将焦点移动至所述新焦点位置索引值指示的位置,以将焦点移动至该焦点右侧的下一位置或下一行最左侧的位置。
一种电视机界面的控制装置,所述装置包括:
显示模式确定单元,用于根据输入的控制参数确定当前的显示模式;
操作控制单元,用户在所述显示模式下,利用所述控制参数,对焦点进行上移动、下移动、左移动或右移动中的一种操作。
进一步的,所述控制参数包括一页上每行显示的项目数rownum与每列显示的项目数linenum、所显示的总项目数totalnum以及当前焦点的页索引值startID和位置索引值focusID;
其中,startID指示当前焦点所在的页,startID=n×shownum,shownum为rownum与linenum的乘积,n=0、1、2…;focusID指示当前焦点在当前页所有项目中的位置。
进一步的,所述操作控制单元包括上移动模块,下移动模块,左移动模块和右移动模块,
其中,所述上移动模块,用于当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行上移动;利用startID确认当前焦点是否在第一页以及利用focusID和rownum确认当前焦点是否在第一行,当当前焦点不在第一页时,若当前焦点位于第一行,将焦点移动到上一页最后一行的相应位置,若当前焦点不位于第一行,将焦点移动至上一行的相应位置;
当当前焦点在第一页时,若当前焦点不位于第一行,将焦点移动至上一行的相应位置;若当前焦点位于第一行,至少包括如下操作:
根据totalnum和rownum确认若所显示的总项目不超过一行,则不移动焦点;或者,根据totalnum、rownum和shownum确认所显示的项目大于一行但不超过一页时,包括:若当前页最后一行存在当前焦点的相应项,将焦点移动到当前页最后一行的相应位置;若当前页最后一行不存在当前焦点的相应项,将焦点移动到当前页最后一行的最后一项;或者,根据totalnum和shownum确认所显示的项目全部为满页显示,将焦点移动到最后一页最后一行的相应位置;或者,根据totalnum和shownum确认至少显示了两页时,若最后一页最后一行存在当前焦点的相应项,将焦点移动到最后一页最后一行的相应位置,若最后一页最后一行不存在当前焦点的相应项,将焦点移动到最后一页最后一行的最后一项;
其中,所述的最后一行为所述页中具有显示项目的最后一行。
所述下移动模块,用于当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行下移动;利用focusID和rownum的和获得下移动后新焦点的位置索引值;
其中,当新焦点的位置索引值小于等于shownum时,确认下移动后的新焦点仍在当前页上时,则执行下述处理:当totalnum小于等于shownum,确认总显示项目不满一页,则存在下面几种处理情况:若所显示的总项目不超过一行时,则不移动焦点;或者,若所显示的总项目至少为两行时,若新焦点的位置超过最后一行最后一项所显示的项目,则将焦点移至最后一行的最后一项上;或者,当前行为最后一行时,将焦点移动至当前页第一行的相应位置;当totalnum大于shownum,确认总显示的项目数目大于一页,则存在下面几种处理情况:若焦点在最后一页上,且新焦点的位置超出了当前所显示的最后一行最后一项,且焦点在所显示的最后一行上,则将焦点移动到第一页第一行相应位置上,或者,若焦点在最后一页上,且新焦点的位置超出了当前所显示的最后一行最后一项,且焦点不在所显示的最后一行上,则将焦点移动到所显示的最后一行最后一项;或者,若焦点在最后一页上,且新焦点的位置在当前显示的最后一行最后一项上,则将焦点移动到最后一行最后一项;
当新焦点的位置索引值大于shownum时,确认下移动后的新焦点不在当前页上时,则执行下述处理:
若总显示数目不满一页,则新焦点移动到当页第一行的相应位置,或者,若总显示数目超过一页,且下一页显示超过一行,则新焦点移动到下一页第一行的相应位置,或者,若总显示数目超过一页,且下一页显示不超过一行,则新焦点移动到下一页第一行的最后一项;
其中,所述的最后一行为所述页中具有显示项目的最后一行。
所述左移动模块,用于当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行左移动;当focusID大于0时,利用focusID和1的差值得到左移动后新焦点的位置索引值,将焦点移动至所述新焦点的位置索引值所指示的位置;当focusID小于等于0时,包括如下几种处理情况:当startID为0时,确认焦点在第一页上,则将焦点移动到最后一页最后一行最右侧的位置上或将焦点移动至当前页最后一行最右侧的位置上;当startID不为0时,确认焦点不在第一页上,则将焦点移动到上一页的最后一行最右侧位置;其中,所述的最后一行为所述页中具有显示项目的最后一行。
所述右移动模块,用于当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行右移动;通过focusID加1,得到新焦点位置索引值;若新焦点位置索引值与startID的和大于等于totalnum,将focusID设置为0以及将startID设置0,以将焦点移动到第一页第一行最左侧的位置;若新焦点位置索引值与startID的和小于totalnum,但新焦点位置索引值大于等于shownum,将focusID设置为0以及将startID设置为startID与shownum的和,以将焦点移动到下一页第一行最左侧的位置上,否则,将焦点移动至所述新焦点位置索引值指示的位置,以将焦点移动至该焦点右侧的下一位置或下一行最左侧的位置。
一种电视机,该电视机包括上述的电视机界面的控制装置。
本发明实施例提供的技术方案,通过控制参数能够灵活地调整电视机界面的显示模式,并且在该显示模式下,利用控制参数实现焦点上下左右的移动,以对电视机界面进行控制。本发明实施例的技术方案通过控制参数能够对不同显示模式进行控制,解决了现有电视机显示模式固定且对每种显示模式需要编写一套代码所带来的问题,提高了厂商的工作效率和系统资源的利用率,改善了界面的显示效果,增强了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的电视机界面的控制方法流程图;
图2为本发明实施例二提供的利用控制参数进行上移动的原理示意图;
图3为本发明实施例二提供的利用控制参数进行下移动的原理示意图;
图4为本发明实施例二提供的利用控制参数进行左移动的原理示意图;
图5为本发明实施例二提供的利用控制参数进行右移动的原理示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例一提供了一种电视机界面的控制方法,参见图1,包括如下步骤:
步骤11:根据输入的控制参数确定当前的显示模式;
步骤12:在所述显示模式下,利用所述控制参数,对焦点进行上移动、下移动、左移动或右移动中的一种操作。
其中,上述的控制参数包括但不局限于一页上每行显示的项目数(rownum)与每列显示的项目数(linenum)、所显示的总项目数(totalnum)以及当前焦点的页索引值(startID)和位置索引值(focusID);
其中,startID指示当前焦点所在的页,startID=n×shownum,shownum为rownum与linenum的乘积,n取自然数,n=0、1、2…;focusID指示当前焦点在当前页所有项目中的位置。
本发明实施例提供的技术方案,通过控制参数能够灵活地调整电视机界面的显示模式,并且在该显示模式下,利用控制参数实现焦点上下左右的移动,以对电视机界面进行控制。本发明实施例的技术方案通过控制参数能够对不同显示模式进行控制,解决了现有电视机显示模式固定且对每种显示模式需要编写一套代码所带来的问题,提高了厂商的工作效率和系统资源的利用率,改善了界面的显示效果,增强了用户体验。
下面对本发明实施例二提供的一种电视机界面的控制方法进行描述。
步骤T1:根据输入的控制参数确定当前的显示模式。
上述控制参数包括但不局限于rownum、linenum、totalnum以及startID和focusID等;其中,startID指示当前焦点所在的页,startID=n×shownum,shownum为rownum与linenum的乘积,n取自然数,即n=0,1,2,3,…;focusID指示当前焦点在当前页所有项目中的位置。
例如,当rownum为2,linenum为4时,表示当前的显示模式为每页每行显示2个项目,每页每列显示4个项目;当rownum为3,linenum为3时,表示当前的显示模式为每页每行显示3个项目,每页每列显示3个项目。
步骤T2:在所述显示模式下,利用所述控制参数,对焦点进行上移动、下移动、左移动或右移动中的一种操作,下面分别对这四种操作进行描述。
可以根据接收到的来自用户的命令,选择对焦点所进行的操作,例如,用户可以通过遥控器中的上下左右按键发送命令,当接收到用户通过上按键发送的命令时,对焦点进行上移动操作。
步骤T21:利用所述控制参数,对焦点进行上移动操作,具体包括如下处理:
利用所述控制参数主要进行如下操作:
确认能够进行上移动;
当前页不为第一页时,若当前行为第一行,将焦点移动至上一页最后一行的相应位置;若当前行不为第一行,将焦点移动至上一行的相应位置;
当前页为第一页时,若当前行不为第一行,将焦点移动至上一行的相同位置;若当前行为第一行,至少包括如下操作:
所显示的总项目不满一行,则不移动焦点;或者,
当显示的项目大于一行小于一页,若当前页最后一行存在当前焦点的相应项,将焦点移动到当前页最后一行的相同位置,若当前页最后一行不存在当前焦点的相应项,将焦点移动到当前页最后一行的最后一项;或者,
当至少显示两页时,若最后一页最后一行存在当前焦点的相应项,将焦点移动到最后一页最后一行的相同位置,若最后一页最后一行不存在当前焦点的相应项,将焦点移动到最后一页最后一行的最后一项。
下面对本发明实施例提供的一种利用控制参数进行上操作的具体方法进行描述,参见图2。
首先进行初始化过程,在初始化过程中,对各种控制参数如rownum、linenum、totalnum、startID以及其他必要参数等进行初始化,其中将控制参数初始化为当前输入的控制参数;并计算屏幕上一页显示的项目的最大值shownum等,shownum=rownum*linenum。再次,根据控制参数判断当前能否进行焦点的上移动操作,只有当rownum、linenum和totalnum中的任一项都不为0时,才确认能够进行上移动操作。
步骤1:利用startID判断当前焦点是否在第一页;
若当前焦点在第一页,如startID为0时,进入步骤3;若当前焦点不在第一页,如startID不为0时,进入步骤2。
步骤2:当前焦点不在第一页时,利用focusID和rownum确认判断该焦点是否在第一行;
步骤21:若当前焦点位于第一行,即focusID小于等于rownum,将焦点移动到上一页最后一行的相应位置,startID和focusID都变化,例如,将startID设置为startID减去shownum,将focusID设置为focusID加上rownum×(linenum-1)的值。
在本发明实施例中,最后一行指该行所属的页中具有显示项目的最后一行,相同描述适用于下文的相同内容,不再赘述。
步骤22:若当前焦点不位于第一行,即focusID大于rownum,将焦点移动至上一行的相应位置;例如,将focusID设置为focusID减去rownum,startID不变。
步骤3:当前焦点在第一页时,利用focusID和rownum确认判断该焦点是否在第一行,即当focusID小于等于rownum时,焦点在第一行,当focusID大于rownum时,焦点不在第一行;
步骤30:当前焦点不位于第一行,将焦点移动至上一行的相同位置,将focusID设置为focusID减去rownum,startID不变;若当前焦点在第一页且当前焦点位于第一行,至少包括如下操作:
步骤31:根据totalnum和rownum确认所显示的总项目不超过一行,即totalnum小于等于rownum时,则不移动焦点;
或者,
步骤32:根据totalnum、rownum和shownum确认所显示的项目大于一行但不超过一页,即当totalnum大于rownum且小于等于shownum时,包括如下处理:
步骤321:若当前页最后一行存在当前焦点的相应项,startID不变,将focusID加上[totalnum/rownum]×rownum的值,以将焦点移动到当前页最后一行的相应位置,步骤322:若当前页最后一行不存在当前焦点的相应项,startID不变,将focusID设置为totalnum与1的差值,以将焦点移动到当前页最后一行的最后一项;或者,
步骤33:根据totalnum和shownum确认至少显示了两页时,即当totalnum大于shownum时,确认至少显示了两页。当最后一页是满页时,即Totalnum%shownum=0,所显示的项目全部为满页显示时,将focusID加上[linenum-1]×rownum的值并将startID设置为totalnum减去shownum,以将焦点移动至最后一页最后一行的相应位置。
步骤34:当至少显示两页,而最后一页不是满页时,若最后一页中最后一行有当前焦点的相应项,如当最后一页不是满页但却每行都显示满行时,将focusID加上[totalnum%shownum/rownum]减1与rownum的乘积以及将startID设置为totalnum与totalnum%shownum的差值,以将焦点移动到最后一页最后一行的相应位置;若最后一页最后一行不存在当前焦点的相应项,将focusID设置为totalnum%shownum与1的差值以及将startID设置为totalnum与totalnum%shownum的差值,以将焦点移动到最后一页最后一行的最后一项。
其中,函数[]表示取整。
本发明实施例可以采用如下函数
void _MApp_ActionUp(U32 rownum,U32 linenum,U32 totalnum,U32*pfocusID,U32 *pStartID)实现上述上操作,
其中,*pfocusIdx为focusID的指针,*pStartIdx为startID的指针。
示例性的,本发明实施例提供了一种上述函数的具体实现方式,参见如下代码:
static void _MApp_ActionUp(U32 rownum,U32 linenum,U32 totalnum,
U32 *pfocusID,U32 *pStartID)
{
U32 prefocusID=0;//初始化上次焦点位置索引值
U32 shownum=rownum *linenum;//计算屏幕能显示的最大数目
if(shownum<=0‖totalnum<=0)
{
DBG_INFO(″shownum or totalnum number error,shownum:%d
totalnum:%d\n″,shownum,totalnum);
//对传入的参数进行判断,数据保护操作
}
else
{
prefocusID=*pfocusID;//将当前焦点位置索引值赋值给prefocusID,作
为备用保存
if((*pStartID)==0)//当前焦点在第一页内
{
if(prefocusID>=rownum)//如果焦点不在第一行
{
(*pfocusID)=prefocusID-rownum;//操作后焦点索引值等于原
先索引值减去行显示数目
}
else//焦点在第一行
{
if(totalnum<=rownum)//如果总显示数目小等于行显示数目,即
显示不满1行
{
(*pfocusID)=PrevfocusIdx;
(*pStartID)=0;
//焦点不动
}
else if(otalnum<=shownum)//如果总显示数目小等于页显示最
大值,即显示不满1页
{
if(totalnum>=(prefocusID+(totalnum/rownum)*rownum+
1))//最后一行的显示数目大等于当前焦点所在行的位置
{
(*pfocusID)=prefocusID+
(totalnum/rownum)*rownum;//焦点移动到最后一行的同一位置
}
else
{
(*pfocusID)=totalnum-1;//焦点移动最后一项
}
(*pStartID)=0;
}
else if(totalnum%shownum==0)//总显示数目是页显示最大值
的整数倍,即所有的页都能显示满页
{
(*pfocusID)=prefocusID+(linenum-1)*rownum;
(*pStartID)=totalnum-shownum;
}
else
{
If(((totalnum%shownum)%rownum==0)‖(totalnum%
rownum>=prefocusID+1))//如果最后一页不满页,但剩余的都能满行显示
{
(*pfocusID)=prefocusID+((totalnum%shownum)/
rownum-1)*rownum;
}
else//最后一页不满页,剩余的显示也不满行
{
(*pfocusID)=totalnum%shownum-1;
}
(*pStartID)=totalnum-totalnum%shownum;
}
}
}
else//不在第一页
{
if((*pfocusID)>=rownum)//焦点不在第一行
{
(*pfocusID)=prefocusID-rownum;
}
else//焦点在第一行
{
(*pfocusID)=prefocusID+rownum*(linenum-1);//焦点索引值移
到上一页的最后一行的同样位置
(*pStartID)=(*pStartID)-shownum;
}
}
}
}
步骤T22:利用所述控制参数,对焦点进行下移动操作,具体包括如下处理:
确认能够进行下移动;
利用下移动后新焦点的位置索引初值为focusID和rownum的和获得下移动后新焦点的位置索引值,该位置索引值指示下移动一次时焦点向下移动一行时的显示位置。
当focusID和rownum的和小于等于shownum时,确认下移动后的新的焦点仍在当前页上时,即不需要翻页时,则执行下述处理:
所显示的总项目不超过一行,即不满一行,则不移动焦点;或者,
所显示的总项目至少为两行,若新焦点的位置索引值超过了所显示项目的总数,则将焦点移动至最后一行的最后一项,若当前行为最后一行时,将焦点移动至当前页第一行的相应位置;
当totalnum大于shownum,确认总显示的项目数目大于一页,则存在下面几种处理情况:
若焦点在最后一页上,且新焦点的位置超出了当前所显示的最后一行最后一项,且焦点在所显示的最后一行上,则将焦点移动到第一页第一行相应位置上,
或者,若焦点在最后一页上,且新焦点的位置超出了当前所显示的最后一行最后一项,且焦点不在所显示的最后一行上,则将焦点移动到所显示的最后一行最后一项;
或者,若焦点在最后一页上,且新焦点的位置在当前显示的最后一行最后一项上,则将焦点移动到最后一行最后一项;
当新焦点的位置索引值大于shownum时,确认下移动后的新焦点不在当前页上时,如原焦点在当前页的最后一行时,移动后的新焦点在下一页,则执行下述处理:
若总显示数目不满一页,则新焦点移动到当页第一行的相应位置,或者
若总显示数目超过一页,且下一页显示超过一行,则新焦点移动到下一页第一行相应位置,或者
若总显示数目超过一页,且下一页显示不超过一行,则新焦点移动到下一页第一行的最后一项,
或者,其它情况下,将焦点移动到下一页第一行相应位置。
具体的,参见图3,包括如下操作:
首先,进行初始化过程,在初始化过程中,对各种控制参数如rownum、linenum、totalnum、startID以及其他必要参数等进行初始化,其中将控制参数初始化为当前输入的控制参数;并计算屏幕上一页显示的项目的最大值shownum等,shownum=rownum*linenum。再次,根据控制参数判断当前能否进行焦点的上移动操作,只有当rownum、linenum和totalnum中的任一项都不为0时,才确认能够进行上移动操作。
步骤1:利用focusID、rownum和shownum判断下移动新的焦点是否当前页上,如当focusID与rownum的和小于等于shownum时,判断无需进行翻页,新焦点仍在当前页上显示,执行步骤2,否则,需要进行翻页,执行步骤5;
步骤2:判断总显示数目是否小于等于页显示最大值,即totalnum是否小于等于shownum,若是,表明显示不满一页,执行步骤3,若否,表明至少显示了两页,则执行步骤4:
步骤3:分为如下若干情况:
步骤31:所显示的总项目不满一行,即totalnum<=rownum,则不移动焦点;
步骤32:新焦点的focusID超出了总显示的项目,即totalnum<focusID+1,则将focusID设置为totalnum-1,以将焦点移动至最后一项。
步骤33:若当前焦点(原焦点)在最后一行,即focusID>=totalnum/rownum*rownum时,则将焦点移动到第一行的相应位置,如将focusID设置为focusID-totalnum/rownum*rownum的值,
步骤4:包括如下处理:
判断焦点是否在最后一页上,即startID+shownum>=totalnum是否成立,若焦点在最后一页上,且新焦点的focusID超出了当前所显示的最后一行最后一个,即存在startID+focusID+1>=totalnum时,且当前焦点不在所显示的最后一行上,则将焦点移动到第一页第一行相应位置上;
否则,若焦点在最后一页上,且按新焦点的位置未超出了当前所显示的最后一行最后一个,即(totalnum-startID)<(focusID+1),且当前焦点不在所显示的最后一行上,则将焦点移动到所显示的最后一行的最后一个,将focusID设置为totalnum-startID-1。
否则,若原焦点在最后一页上,且新焦点的位置在当前显示的最后一行最后一个,则焦点移动到最后一行最后一个,将focusID设置为totalnum%shownum-1。
步骤5:若下移动时焦点在当前页最后一行上时,需要翻页处理时,执行下述处理:
步骤51:若总显示数目小于等于页显示最大值,即有shownum>=totalnum,则将focusID设置为focusID-rownum*(linenum-1)的值,startID不变,以将焦点移动到当页第一行的相应位置;或者,
步骤52:若总显示数目大于页最大显示值,且下一页显示超过一行,即存在(startID+shownum+rownum)<totalnum,则新焦点移动到下一页第一行相应位置,将focusID设置为focusID-rownum*(linenum-1)的值,将startID设置为StartID与shownum的和。
步骤53:若总显示数目大于页最大显示值,且下一页显示不超过一行,即有(startID+shownum+rownum)>=totalnum)&&((startID+shownum)<totalnum),则新焦点移动到下一页第一行的最后位置,startID值变为startID与shownum的和的值;
步骤54:其它情况下,将新焦点移动到下一页第一行相应位置,startID值变为startID与shownum的和的值。将focusID设置为focusID-rownum*(linenum-1)的值。
本发明实施例可以采用如下函数
void _MApp_ActionDown(U32 rownum,U32 linenum,U32 totalnum,U32*pfocusID,U32 *pStartID)实现上述下操作,
其中,*pfocusIdx为focusID的指针,*pStartIdx为startID的指针。
示例性的,本发明实施例提供了一种上述函数的具体实现方式,参见如下代码:
static void _MApp_ActionDown(U32 rownum,U32 linenum,U32 totalnum,
U32 *pfocusID,U32 *pStartID)
{
U32 PrevfocusIdx;//初始化上次焦点位置索引值
U32 shownum=rownum*linenum;//计算屏幕能显示的最大数目
if(shownum<=0‖totalnum<=0)
{
DBG_INFO(″shownum or totalnum number error,shownum:%d
totalnum:%d\n″,shownum,totalnum);
}
else
{
prefocusID=*pfocusID;
(*pfocusID)=(*pfocusID)+rownum;//焦点索引值加一行的显示数目
if((*pfocusID)<shownum)//若新的焦点索引值未超过页显示最大值,
即仍在当页上显示
{
if(totalnum<=shownum)//总显示数目小等于页显示最大值,即不满
页
{
if(totalnum<=rownum)//总显示数目小等于行显示最大值,即不
满行
{
(*pfocusID)=PrevfocusIdx;
}
else if(totalnum<((*pfocusID)+1))//若新焦点索引值超过了总
显示数,则新焦点放到最后一项
{
(*pfocusID)=totalnum-1;
}
else if(prefocusID>=totalnum/rownum*rownum)//若原焦点在最
后一行,则新焦点该在第一行相应的位置上
{
(*pfocusID)=prefocusID-totalnum/rownum*rownum;
}
(*pStartID)=0;
}
else//总显示数目大于页显示最大值,即超过一页
{
if(((*pStartID)+shownum)>=totalnum)//焦点在最后一页上
{
if(((*pStartID)+(*pfocusID)+1)>=totalnum)//按下操作后新
焦点的索引值若超出了总显示数目,需换到第一页第一行相应位置
{
if(((*pfocusID)/rownum+1)*rownum<totalnum-(*pStartID))
{
(*pStartID)=0;
If(PrevfocusIdx<rownum)
(*pfocusID)=PrevfocusId;
else
(*pfocusID)=PrevfocusIdx-
(PrevfocusIdx/rownum)*rownum;
}
else
{
(*pfocusID)=totalnum-(*pStartID)-1;
}
}
else if((totalnum-(*pStartID))<((*pfocusID)+1))//若未超出
总显示数目,则移动到当页的最后一个
{
(*pfocusID)=totalnum-(*pStartID)-1;
}
}
}
}
else//若原焦点位置在当前页的最后一行,则按下的话会切换到下一页
{
if(shownum>=totalnum)//若总数小等于页显示最大值
{
(*pfocusID)=prefocusID-rownum*(linenum-1));//焦点移动到第
一行的相应位置,停留到第一页
(*pStartID)=0;
}
else if(((*pStartID)+shownum+rownum)<totalnum)//若下一页显
示超过一行
{
(*pfocusID)=prefocusID-rownum*(linenum-1));//焦点移动到第
一行的相应位置,翻到下一页
(*pStartID)=(*pStartID)+shownum;
}
else if((((*pStartID)+shownum+rownum)>=
totalnum)&&(((*pStartID)+shownum)<totalnum))//下一页显示不满一行
{
(*pfocusID)=totalnum%shownum;
(*pStartID)=(*pStartID)+shownum;
}
else//其它情况
{
(*pfocusID)=prefocusID-rownum*(linenum-1));
(*pStartID)=(*pStartID)+shownum;
}
}
}
}
步骤T23:利用所述控制参数,对焦点进行左移动操作,具体包括如下处理:
当focusID大于0时,利用focusID和1的差值得到左移动后新焦点的位置索引值,将焦点移动至所述新焦点的位置索引值所指示的位置;
当focusID小于等于0时,包括如下几种处理情况:
当startID为0时,确认焦点在第一页上,则将焦点移动到最后一页最后一行最右侧的位置上或将焦点移动至当前页最后一行最右侧的位置上;
当startID不为0时,确认焦点不在第一页上,则将焦点移动到上一页的最后一行最右侧位置;
其中,所述的最后一行为所述页中具有显示项目的最后一行。
本发明实施例给出了一种左移动的具体实现方式,参见图4,首先进行相应的初始化过程,然后执行如下步骤:
步骤1:当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行左移动。
步骤2:当focusID不为0(如focusID>0)时,这时,确认当前焦点不在第一行第一个位置,则将focusID自动减一,以将焦点移动至该焦点左侧的下一位置或上一行最右侧的位置,startID不变;当focusID小于等于0,即当前焦点位于第一行第一项时,执行步骤3。
步骤3:当前焦点在第一行第一项时,还包括如下几种情况:
步骤30:当前页不为第一页时,即有startID不为0时,将焦点移动至上一页最右侧的项(该最右侧的项通常为最后一项),将focusID设置为shownum-1的值,将startID设置为startID-shownum的值。
步骤31:当前页为第一页时,即有startID为0时,若显示的项目不满一页,即有totalnum<=shownum时,则将焦点移动至当前页最后一行最右侧的位置,将focusID设置为totalnum-1的值,startID的值不变。
步骤32:当前页为第一页时,且所有页都是满页显示时,即有totalnum%shownum=0时,将焦点移动至最后一页最右侧的项(该最右侧的项通常为最后一项),即将focusID设置为shownum-1的值,将startID设置为totalnum-shownum的值。
若当前页为第一页,当前焦点在第一行第一项时,除去步骤31和32中的情况外,执行步骤33将焦点移动至上一页最右侧的项,将focusID设置为totalnum%shownum-1,将startID设置为(totalnum/shownum)*shownum。
本发明实施例可以采用如下函数
void _MApp_ActionLeft(U32 rownum,U32 linenum,U32 totalnum,U32*pfocusID,U32 *pStartID)实现上述左操作,
其中,*pfocusIdx为focusID的指针,*pStartIdx为startID的指针。
示例性的,本发明实施例提供了一种上述函数的具体实现方式,参见如下代码:
static void _MApp_ActionLeft(U32 rownum,U32 linenum,U32 totalnum,
U32 *pfocusID,U32 *pStartID)
{
U32 PrevfocusIdx;
U32 shownum=rownum*linenum;
if(shownum<=0‖totalnum<=0)
{
DBG_INFO(″shownum or totalnum number error,shownum:%d
totalnum:%d\n″,shownum,totalnum);
}
else
{
prefocusID=(*pfocusID);
if(*pfocusID>0)//若当前焦点不在第一行第一个位置
{
(*pfocusID)--;
}
else
{
if((*pStartID)==0)//若当前页为第一页
{
if(totalnum<=shownum)//显示不满页
{
(*pfocusID)=totalnum-1;
(*pStartID)=0;
}
else
{
if(totalnum%shownum==0)//若所以页显示都是满的
{
(*pfocusID)=shownum-1;
(*pStartID)=totalnum-shownum;
}
else
{
(*pfocusID)=(totalnum%shownum)-1;
(*pStartID)=(totalnum/shownum)*shownum;
}
}
}
else
{
(*pfocusID)=shownum-1;
(*pStartID)=(*pStartID)-shownum;
}
}
}
}
步骤T24:利用所述控制参数,对焦点进行右移动操作,具体包括如下处理:
参见图5,主要包括如下步骤:
步骤1:当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行右移动;
步骤2:通过focusID加1,得到新焦点位置索引值,确定新焦点的位置,从而将焦点移动至该焦点右侧的下一位置或下一行最左侧的位置;其中,
若新焦点位置索引值与startID的和大于等于totalnum,指示新焦点的位置超出所显示的最后一项的位置,则将focusID设置为0以及将startID设置0,以将焦点移动到第一页第一行最左侧的位置;
若新焦点位置索引值与startID的和小于totalnum,但新焦点位置索引值大于等于shownum,则将focusID设置为0以及将startID设置为startID与shownum的和,以将焦点移动到下一页第一行最左侧的位置上。
而除上述两种情况外,其它情况无需再修改上述获得的新焦点位置,将焦点移动至所述新焦点位置索引值指示的位置。
void _MApp_ActionRight(U32 rownum,U32 linenum,U32 totalnum,U32*pfocusID,U32 *pStartID)实现上述右操作,
其中,*pfocusIdx为focusID的指针,*pStartIdx为startID的指针。
示例性的,本发明实施例提供了一种上述函数的具体实现方式,参见如下代码:
static void _MApp_ActionRight(U32 rownum,U32 linenum,U32 totalnum,
U32 *pfocusID,U32 *pStartID)
{
U32 PrevfocusIdx;
U32 shownum=rownum*linenum;
if(shownum<=0‖totalnum<=0)
{
DBG_INFO(″shownum or totalnum number error,shownum:%d
totalnum:%d\n″,shownum,totalnum);
}
else
{
prefocusID=(*pfocusID);
(*pfocusID)++;
if((*pfocusID)+(*pStartID)>=totalnum)
{
(*pfocusID)=0;
(*pStartID)=0;
}
else
{
if((*pfocusID)>=shownum)
{
(*pfocusID)=0;
(*pStartID)=(*pStartID)+shownum;
}
}
}
}
本领域普通技术人员可以理解,上述利用控制参数通过相应运算获取移动后新焦点的位置只是示例性的说明,可调整各个步骤中的运算方法得到相同或相似的结果,并适应性的调整代码的描述方式。
本发明实施例提供的技术方案,通过控制参数能够灵活地调整电视机界面的显示模式,并且在该显示模式下,利用控制参数实现焦点上下左右的移动,以对电视机界面进行控制。本发明实施例的技术方案通过控制参数能够对不同显示模式进行控制,解决了现有电视机显示模式固定且对每种显示模式需要编写一套代码所带来的问题,提高了厂商的工作效率和系统资源的利用率,改善了界面的显示效果,增强了用户体验。
本发明实施例三还提供了一种电视机界面的控制装置,所述装置包括:
显示模式确定单元,用于根据输入的控制参数确定当前的显示模式;
操作控制单元,用户在所述显示模式下,利用所述控制参数,对焦点进行上移动、下移动、左移动或右移动中的一种操作。
进一步的,上述控制参数包括一页上每行显示的项目数rownum与每列显示的项目数linenum、所显示的总项目数totalnum以及当前焦点的页索引值startID和位置索引值focusID;
其中,startID指示当前焦点所在的页,startID=n×shownum,shownum为rownum与linenum的乘积,n取自然数,n=0,1,2,3,…;focusID指示当前焦点在当前页所有项目中的位置。
其中,所述操作控制单元包括上移动模块,下移动模块,左移动模块和右移动模块,
所述上移动模块,用于当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行上移动;利用startID确认当前焦点是否在第一页以及利用focusID和rownum确认当前焦点是否在第一行,当当前焦点不在第一页时,若当前焦点位于第一行,将焦点移动到上一页最后一行的相应位置,若当前焦点不位于第一行,将焦点移动至上一行的相应位置;
当当前焦点在第一页时,若当前焦点不位于第一行,将焦点移动至上一行的相应位置;若当前焦点位于第一行,至少包括如下操作:
根据totalnum和rownum确认若所显示的总项目不超过一行,则不移动焦点;或者,根据totalnum、rownum和shownum确认所显示的项目大于一行但不超过一页时,包括:若当前页最后一行存在当前焦点的相应项,将焦点移动到当前页最后一行的相应位置;若当前页最后一行不存在当前焦点的相应项,将焦点移动到当前页最后一行的最后一项;或者,根据totalnum和shownum确认所显示的项目全部为满页显示,将焦点移动到最后一页最后一行的相应位置;或者,根据totalnum和shownum确认至少显示了两页时,若最后一页最后一行存在当前焦点的相应项,将焦点移动到最后一页最后一行的相应位置,若最后一页最后一行不存在当前焦点的相应项,将焦点移动到最后一页最后一行的最后一项;
其中,所述的最后一行为所述页中具有显示项目的最后一行;
所述下移动模块,用于当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行下移动;利用focusID和rownum的和获得下移动后新焦点的位置索引值;
其中,当新焦点的位置索引值小于等于shownum时,确认下移动后的新焦点仍在当前页上时,则执行下述处理:当totalnum小于等于shownum,确认总显示项目不满一页,则存在下面几种处理情况:若所显示的总项目不超过一行时,则不移动焦点;或者,若所显示的总项目至少为两行时,若新焦点的位置超过最后一行最后一项所显示的项目,则将焦点移至最后一行的最后一项上;或者,当前行为最后一行时,将焦点移动至当前页第一行的相应位置;当totalnum大于shownum,确认总显示的项目数目大于一页,则存在下面几种处理情况:若焦点在最后一页上,且新焦点的位置超出了当前所显示的最后一行最后一项,且焦点在所显示的最后一行上,则将焦点移动到第一页第一行相应位置上,或者,若焦点在最后一页上,且新焦点的位置超出了当前所显示的最后一行最后一项,且焦点不在所显示的最后一行上,则将焦点移动到所显示的最后一行最后一项;或者,若焦点在最后一页上,且新焦点的位置在当前显示的最后一行最后一项上,则将焦点移动到最后一行最后一项;
当新焦点的位置索引值大于shownum时,确认下移动后的新焦点不在当前页上时,则执行下述处理:
若总显示数目不满一页,则新焦点移动到当页第一行的相应位置,或者,若总显示数目超过一页,且下一页显示超过一行,则新焦点移动到下一页第一行的相应位置,或者,若总显示数目超过一页,且下一页显示不超过一行,则新焦点移动到下一页第一行的最后一项;
其中,所述的最后一行为所述页中具有显示项目的最后一行;
所述左移动模块,用于当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行左移动;当focusID大于0时,利用focusID和1的差值得到左移动后新焦点的位置索引值,将焦点移动至所述新焦点的位置索引值所指示的位置;当focusID小于等于0时,包括如下几种处理情况:当startID为0时,确认焦点在第一页上,则将焦点移动到最后一页最后一行最右侧的位置上或将焦点移动至当前页最后一行最右侧的位置上;当startID不为0时,确认焦点不在第一页上,则将焦点移动到上一页的最后一行最右侧位置;其中,所述的最后一行为所述页中具有显示项目的最后一行;
所述右移动模块,用于当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行右移动;通过focusID加1,得到新焦点位置索引值;若新焦点位置索引值与startID的和大于等于totalnum,将focusID设置为0以及将startID设置0,以将焦点移动到第一页第一行最左侧的位置;若新焦点位置索引值与startID的和小于totalnum,但新焦点位置索引值大于等于shownum,将focusID设置为0以及将startID设置为startID与shownum的和,以将焦点移动到下一页第一行最左侧的位置上,否则,将焦点移动至所述新焦点位置索引值指示的位置,以将焦点移动至该焦点右侧的下一位置或下一行最左侧的位置。
本发明装置实施例中各功能模块和单元的具体工作方式参见本发明方法实施例。本发明装置实施例中各功能模块和单元可以单独实现,也可以集成在一个或多个单元中实现。
本发明实施例提供的技术方案,通过控制参数能够灵活地调整电视机界面的显示模式,并且在该显示模式下,利用控制参数实现焦点上下左右的移动,以对电视机界面进行控制。本发明实施例的技术方案通过控制参数能够对不同显示模式进行控制,解决了现有电视机显示模式固定且对每种显示模式需要编写一套代码所带来的问题,提高了厂商的工作效率和系统资源的利用率,改善了界面的显示效果,增强了用户体验。
本发明实施例四还提供了一种电视机,所述电视机包括上述的电视机界面的控制装置。例如,上述电视机界面的控制装置由单独的模块实现并内置于电视机中,也可以集成在电视机的主控芯片上。
本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种电视机界面的控制方法,其特征在于,所述方法包括:
根据输入的控制参数确定当前的显示模式;
在所述显示模式下,利用所述控制参数,对焦点进行上移动、下移动、左移动或右移动中的一种操作。
2.根据权利要求1所述的电视机界面的控制方法,其特征在于,
所述控制参数包括一页上每行显示的项目数rownum与每列显示的项目数linenum、所显示的总项目数totalnum以及当前焦点的页索引值startID和位置索引值focusID;
其中,startID指示当前焦点所在的页,startID=n×shownum,shownum为rownum与linenum的乘积,n=0、1、2…;focusID指示当前焦点在当前页所有项目中的位置。
3.根据权利要求2所述的电视机界面的控制方法,其特征在于,在所述显示模式下,利用所述控制参数,对焦点进行上移动包括:
当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行上移动;
利用startID确认当前焦点是否在第一页以及利用focusID和rownum确认当前焦点是否在第一行,
当当前焦点不在第一页时,若当前焦点位于第一行,将焦点移动到上一页最后一行的相应位置,若当前焦点不位于第一行,将焦点移动至上一行的相应位置;
当当前焦点在第一页时,若当前焦点不位于第一行,将焦点移动至上一行的相应位置;若当前焦点位于第一行,至少包括如下操作:
根据totalnum和rownum确认若所显示的总项目不超过一行,则不移动焦点;
或者,
根据totalnum、rownum和shownum确认所显示的项目大于一行但不超过一页时,包括:若当前页最后一行存在当前焦点的相应项,将焦点移动到当前页最后一行的相应位置;若当前页最后一行不存在当前焦点的相应项,将焦点移动到当前页最后一行的最后一项;
或者,根据totalnum和shownum确认所显示的项目全部为满页显示,将焦点移动到最后一页最后一行的相应位置;
或者,根据totalnum和shownum确认至少显示了两页时,若最后一页最后一行存在当前焦点的相应项,将焦点移动到最后一页最后一行的相应位置,若最后一页最后一行不存在当前焦点的相应项,将焦点移动到最后一页最后一行的最后一项;
其中,所述的最后一行为所述页中具有显示项目的最后一行。
4.根据权利要求2所述的电视机界面的控制方法,其特征在于,在所述显示模式下,利用所述控制参数,对焦点进行下移动包括:
当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行下移动;
利用focusID和rownum的和获得下移动后新焦点的位置索引值;
其中,当新焦点的位置索引值小于等于shownum时,确认下移动后的新焦点仍在当前页上时,则执行下述处理:
当totalnum小于等于shownum,确认总显示项目不满一页,则存在下面几种处理情况:
若所显示的总项目不超过一行时,则不移动焦点;
或者,若所显示的总项目至少为两行时,若新焦点的位置超过最后一行最后一项所显示的项目,则将焦点移至最后一行的最后一项上;
或者,当前行为最后一行时,将焦点移动至当前页第一行的相应位置;
当totalnum大于shownum,确认总显示的项目数目大于一页,则存在下面几种处理情况:
若焦点在最后一页上,且新焦点的位置超出了当前所显示的最后一行最后一项,且焦点在所显示的最后一行上,则将焦点移动到第一页第一行相应位置上,
或者,若焦点在最后一页上,且新焦点的位置超出了当前所显示的最后一行最后一项,且焦点不在所显示的最后一行上,则将焦点移动到所显示的最后一行最后一项;
或者,若焦点在最后一页上,且新焦点的位置在当前显示的最后一行最后一项上,则将焦点移动到最后一行最后一项;
当新焦点的位置索引值大于shownum时,确认下移动后的新焦点不在当前页上时,则执行下述处理:
若总显示数目不满一页,则新焦点移动到当页第一行的相应位置,或者,
若总显示数目超过一页,且下一页显示超过一行,则新焦点移动到下一页第一行的相应位置,或者,
若总显示数目超过一页,且下一页显示不超过一行,则新焦点移动到下一页第一行的最后一项;
其中,所述的最后一行为所述页中具有显示项目的最后一行。
5.根据权利要求2所述的电视机界面的控制方法,其特征在于,在所述显示模式下,利用所述控制参数,对焦点进行左移动包括:
当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行左移动;
当focusID大于0时,利用focusID和1的差值得到左移动后新焦点的位置索引值,将焦点移动至所述新焦点的位置索引值所指示的位置;
当focusID小于等于0时,包括如下几种处理情况:
当startID为0时,确认焦点在第一页上,则将焦点移动到最后一页最后一行最右侧的位置上或将焦点移动至当前页最后一行最右侧的位置上;
当startID不为0时,确认焦点不在第一页上,则将焦点移动到上一页的最后一行最右侧位置;
其中,所述的最后一行为所述页中具有显示项目的最后一行。
6.根据权利要求2所述的电视机界面的控制方法,其特征在于,在所述显示模式下,利用所述控制参数,对焦点进行右移动包括:
当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行右移动;
通过focusID加1,得到新焦点位置索引值;
若新焦点位置索引值与startID的和大于等于totalnum,将focusID设置为0以及将startID设置0,以将焦点移动到第一页第一行最左侧的位置;
若新焦点位置索引值与startID的和小于totalnum,但新焦点位置索引值大于等于shownum,将focusID设置为0以及将startID设置为startID与shownum的和,以将焦点移动到下一页第一行最左侧的位置上,否则,将焦点移动至所述新焦点位置索引值指示的位置,以将焦点移动至该焦点右侧的下一位置或下一行最左侧的位置。
7.一种电视机界面的控制装置,其特征在于,所述装置包括:
显示模式确定单元,用于根据输入的控制参数确定当前的显示模式;
操作控制单元,用户在所述显示模式下,利用所述控制参数,对焦点进行上移动、下移动、左移动或右移动中的一种操作。
8.根据权利要求7所述的电视机界面的控制装置,其特征在于,
所述控制参数包括一页上每行显示的项目数rownum与每列显示的项目数linenum、所显示的总项目数totalnum以及当前焦点的页索引值startID和位置索引值focusID;
其中,startID指示当前焦点所在的页,startID=n×shownum,shownum为rownum与linenum的乘积,n=0、1、2…;focusID指示当前焦点在当前页所有项目中的位置。
9.根据权利要求8所述的电视机界面的控制装置,其特征在于,所述操作控制单元包括上移动模块,下移动模块,左移动模块和右移动模块,
所述上移动模块,用于当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行上移动;利用startID确认当前焦点是否在第一页以及利用focusID和rownum确认当前焦点是否在第一行,当当前焦点不在第一页时,若当前焦点位于第一行,将焦点移动到上一页最后一行的相应位置,若当前焦点不位于第一行,将焦点移动至上一行的相应位置;
当当前焦点在第一页时,若当前焦点不位于第一行,将焦点移动至上一行的相应位置;若当前焦点位于第一行,至少包括如下操作:
根据totalnum和rownum确认若所显示的总项目不超过一行,则不移动焦点;或者,根据totalnum、rownum和shownum确认所显示的项目大于一行但不超过一页时,包括:若当前页最后一行存在当前焦点的相应项,将焦点移动到当前页最后一行的相应位置;若当前页最后一行不存在当前焦点的相应项,将焦点移动到当前页最后一行的最后一项;或者,根据totalnum和shownum确认所显示的项目全部为满页显示,将焦点移动到最后一页最后一行的相应位置;或者,根据totalnum和shownum确认至少显示了两页时,若最后一页最后一行存在当前焦点的相应项,将焦点移动到最后一页最后一行的相应位置,若最后一页最后一行不存在当前焦点的相应项,将焦点移动到最后一页最后一行的最后一项;
其中,所述的最后一行为所述页中具有显示项目的最后一行;
所述下移动模块,用于当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行下移动;利用focusID和rownum的和获得下移动后新焦点的位置索引值;
其中,当新焦点的位置索引值小于等于shownum时,确认下移动后的新焦点仍在当前页上时,则执行下述处理:当totalnum小于等于shownum,确认总显示项目不满一页,则存在下面几种处理情况:若所显示的总项目不超过一行时,则不移动焦点;或者,若所显示的总项目至少为两行时,若新焦点的位置超过最后一行最后一项所显示的项目,则将焦点移至最后一行的最后一项上;或者,当前行为最后一行时,将焦点移动至当前页第一行的相应位置;当totalnum大于shownum,确认总显示的项目数目大于一页,则存在下面几种处理情况:若焦点在最后一页上,且新焦点的位置超出了当前所显示的最后一行最后一项,且焦点在所显示的最后一行上,则将焦点移动到第一页第一行相应位置上,或者,若焦点在最后一页上,且新焦点的位置超出了当前所显示的最后一行最后一项,且焦点不在所显示的最后一行上,则将焦点移动到所显示的最后一行最后一项;或者,若焦点在最后一页上,且新焦点的位置在当前显示的最后一行最后一项上,则将焦点移动到最后一行最后一项;
当新焦点的位置索引值大于shownum时,确认下移动后的新焦点不在当前页上时,则执行下述处理:
若总显示数目不满一页,则新焦点移动到当页第一行的相应位置,或者,若总显示数目超过一页,且下一页显示超过一行,则新焦点移动到下一页第一行的相应位置,或者,若总显示数目超过一页,且下一页显示不超过一行,则新焦点移动到下一页第一行的最后一项;其中,所述的最后一行为所述页中具有显示项目的最后一行;
所述左移动模块,用于当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行左移动;当focusID大于0时,利用focusID和1的差值得到左移动后新焦点的位置索引值,将焦点移动至所述新焦点的位置索引值所指示的位置;当focusID小于等于0时,包括如下几种处理情况:当startID为0时,确认焦点在第一页上,则将焦点移动到最后一页最后一行最右侧的位置上或将焦点移动至当前页最后一行最右侧的位置上;当startID不为0时,确认焦点不在第一页上,则将焦点移动到上一页的最后一行最右侧位置;其中,所述的最后一行为所述页中具有显示项目的最后一行;
所述右移动模块,用于当rownum、linenum与totalnum中的任一项都不为0时,确认能够进行右移动;通过focusID加1,得到新焦点位置索引值;若新焦点位置索引值与startID的和大于等于totalnum,将focusID设置为0以及将startID设置0,以将焦点移动到第一页第一行最左侧的位置;若新焦点位置索引值与startID的和小于totalnum,但新焦点位置索引值大于等于shownum,将focusID设置为0以及将startID设置为startID与shownum的和,以将焦点移动到下一页第一行最左侧的位置上,否则,将焦点移动至所述新焦点位置索引值指示的位置,以将焦点移动至该焦点右侧的下一位置或下一行最左侧的位置。
10.一种电视机,其特征在于,所述电视机包括上述7至9任一项所述的电视机界面的控制装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101291839A CN101783905B (zh) | 2010-03-22 | 2010-03-22 | 一种电视机界面的控制方法、装置和电视机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101291839A CN101783905B (zh) | 2010-03-22 | 2010-03-22 | 一种电视机界面的控制方法、装置和电视机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101783905A true CN101783905A (zh) | 2010-07-21 |
CN101783905B CN101783905B (zh) | 2012-01-11 |
Family
ID=42523695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101291839A Active CN101783905B (zh) | 2010-03-22 | 2010-03-22 | 一种电视机界面的控制方法、装置和电视机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101783905B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158667A (zh) * | 2010-09-21 | 2011-08-17 | 青岛海信传媒网络技术有限公司 | 基于控件原理的图标管理方法及设备 |
CN102681763A (zh) * | 2011-01-05 | 2012-09-19 | 三星电子株式会社 | 用于在便携式终端中提供用户界面的方法和设备 |
CN103491405A (zh) * | 2013-08-30 | 2014-01-01 | 小米科技有限责任公司 | 遥控系统、遥控器、显示设备及遥控方法 |
CN103634678A (zh) * | 2013-11-14 | 2014-03-12 | 深圳市同洲电子股份有限公司 | 一种信息展示方法、装置及系统 |
CN106060616A (zh) * | 2016-06-07 | 2016-10-26 | 青岛海信电器股份有限公司 | 操作处理方法及装置 |
WO2021238190A1 (zh) * | 2020-05-29 | 2021-12-02 | 深圳Tcl数字技术有限公司 | 焦点控制方法、电视机及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1886973A (zh) * | 2003-12-01 | 2006-12-27 | 索尼爱立信移动通讯股份有限公司 | 提供菜单扩展和组织功能的装置、方法和计算机程序产品 |
CN1929570A (zh) * | 2006-09-26 | 2007-03-14 | 于华利 | 数字电视机显示屏用户界面直观遥控的方法 |
CN1941862A (zh) * | 2005-09-28 | 2007-04-04 | 深圳Tcl新技术有限公司 | 一种电视机菜单显示界面的设置方法 |
CN101052114A (zh) * | 2006-04-05 | 2007-10-10 | 中兴通讯股份有限公司 | 一种用方向键实现翻页功能的方法 |
US20090128507A1 (en) * | 2007-09-27 | 2009-05-21 | Takeshi Hoshino | Display method of information display device |
-
2010
- 2010-03-22 CN CN2010101291839A patent/CN101783905B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1886973A (zh) * | 2003-12-01 | 2006-12-27 | 索尼爱立信移动通讯股份有限公司 | 提供菜单扩展和组织功能的装置、方法和计算机程序产品 |
CN1941862A (zh) * | 2005-09-28 | 2007-04-04 | 深圳Tcl新技术有限公司 | 一种电视机菜单显示界面的设置方法 |
CN101052114A (zh) * | 2006-04-05 | 2007-10-10 | 中兴通讯股份有限公司 | 一种用方向键实现翻页功能的方法 |
CN1929570A (zh) * | 2006-09-26 | 2007-03-14 | 于华利 | 数字电视机显示屏用户界面直观遥控的方法 |
US20090128507A1 (en) * | 2007-09-27 | 2009-05-21 | Takeshi Hoshino | Display method of information display device |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158667A (zh) * | 2010-09-21 | 2011-08-17 | 青岛海信传媒网络技术有限公司 | 基于控件原理的图标管理方法及设备 |
CN102158667B (zh) * | 2010-09-21 | 2013-01-02 | 青岛海信传媒网络技术有限公司 | 基于控件原理的图标管理方法及设备 |
CN102681763A (zh) * | 2011-01-05 | 2012-09-19 | 三星电子株式会社 | 用于在便携式终端中提供用户界面的方法和设备 |
US10082930B2 (en) | 2011-01-05 | 2018-09-25 | Samsung Electronics Co., Ltd. | Method and apparatus for providing user interface in portable terminal |
CN103491405A (zh) * | 2013-08-30 | 2014-01-01 | 小米科技有限责任公司 | 遥控系统、遥控器、显示设备及遥控方法 |
CN103491405B (zh) * | 2013-08-30 | 2018-06-05 | 小米科技有限责任公司 | 遥控系统、遥控器、显示设备及遥控方法 |
CN103634678A (zh) * | 2013-11-14 | 2014-03-12 | 深圳市同洲电子股份有限公司 | 一种信息展示方法、装置及系统 |
CN106060616A (zh) * | 2016-06-07 | 2016-10-26 | 青岛海信电器股份有限公司 | 操作处理方法及装置 |
CN106060616B (zh) * | 2016-06-07 | 2019-07-02 | 青岛海信电器股份有限公司 | 操作处理方法及装置 |
WO2021238190A1 (zh) * | 2020-05-29 | 2021-12-02 | 深圳Tcl数字技术有限公司 | 焦点控制方法、电视机及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101783905B (zh) | 2012-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101783905B (zh) | 一种电视机界面的控制方法、装置和电视机 | |
US11074940B2 (en) | Interface apparatus and recording apparatus | |
CN101441882B (zh) | 多媒体播放控制方法和装置以及多媒体播放设备 | |
CN102800048B (zh) | 一种电子地图缩放的显示方法 | |
CN105165017A (zh) | 视频平铺 | |
CN102622868B (zh) | 一种遥控控制方法、显示控制装置、遥控器及系统 | |
CN107515702B (zh) | 一种页面交互方法及装置 | |
KR20120057800A (ko) | 아이콘 조정 방법 및 그를 적용한 단말 장치 | |
CN104850408A (zh) | 一种在智能手表上绘制图片的方法和装置 | |
KR20170107987A (ko) | 정보 처리 장치, 정보 처리 방법, 프로그램 및 시스템 | |
CN105389073A (zh) | 桌面图标显示系统及方法 | |
CN111813472A (zh) | 一种应用界面的转换方法和装置 | |
CN104102734A (zh) | 数据展示方法及系统 | |
CN105068738A (zh) | 一种智能手表的控制方法及智能手表 | |
CN102547191A (zh) | 投影仪以及控制方法 | |
CN111290678B (zh) | 一种图片预览方法、装置及设备 | |
CN105228002A (zh) | 显示设备及其控制方法 | |
CN102169375A (zh) | 一种在kvm系统上控制通道切换的方法 | |
CN106325667A (zh) | 一种快速定位目标对象的方法及装置 | |
CN105204659A (zh) | 一种待输入字符的选择方法及装置 | |
CN111435589B (zh) | 一种目标显示的方法、装置及目标显示系统 | |
CN102096545A (zh) | 电子设备及控制该电子设备的方法 | |
CN110662102B (zh) | 滤镜渐变效果展示方法、存储介质、设备及系统 | |
CN103631577A (zh) | 图像显示调节方法和装置 | |
CN106484251A (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 | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170117 Address after: 518052 Guangdong Province, Shenzhen high tech Zone of Nanshan District City, North Long Road No. 13 port information violet C building 601 Patentee after: Hisense Electronic Technology (Shenzhen) Co., Ltd. Address before: 266100 Zhuzhou Road, Laoshan District, Shandong, No. 151, No. Patentee before: Qingdao Hisense Electric Co., Ltd. |