CN113126992A - 一种控件元素的控制方法、装置、设备及存储介质 - Google Patents

一种控件元素的控制方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113126992A
CN113126992A CN202110510335.8A CN202110510335A CN113126992A CN 113126992 A CN113126992 A CN 113126992A CN 202110510335 A CN202110510335 A CN 202110510335A CN 113126992 A CN113126992 A CN 113126992A
Authority
CN
China
Prior art keywords
control element
focus
determining
registration
execution result
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.)
Pending
Application number
CN202110510335.8A
Other languages
English (en)
Inventor
秦林
王�锋
张泽文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Xuanjia Network Technology Co ltd
Original Assignee
Nanjing Xuanjia Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Xuanjia Network Technology Co ltd filed Critical Nanjing Xuanjia Network Technology Co ltd
Priority to CN202110510335.8A priority Critical patent/CN113126992A/zh
Publication of CN113126992A publication Critical patent/CN113126992A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Studio Devices (AREA)

Abstract

本发明公开了一种控件元素的控制方法、装置、设备及存储介质。该方法包括:接收触发事件输入信号,并获取焦点;根据所述触发事件输入信号,确定所述焦点指向的获焦控件元素;若所述获焦控件元素存在对应的注册对象和注册函数,则执行所述注册函数,并确定执行结果,以表征是否需要执行所述获焦控件元素的父容器对应的注册事件;根据所述执行结果控制所述获焦控件元素,通过本发明的技术方案,能够减少控件元素注册事件的代码耦合度和代码冗余度,简化业务实现逻辑,降低代码维护难度。

Description

一种控件元素的控制方法、装置、设备及存储介质
技术领域
本发明实施例涉及网络电视技术领域,尤其涉及一种控件元素的控制方法、装置、设备及存储介质。
背景技术
随着科技的发展,智能网络电视逐渐走进每个人的生活中。为了给用户提供丰富的内容,智能网络电视的显示页面布局复杂,具体多个不规则的容器,每个容器内又有多个控件元素。
现有技术对电视页面中控件元素的控制往往依赖于执行在控件元素上的注册事件,每一个控件需要绑定多个注册事件对应的注册函数,才能保证对控件的触发操作。当页面出现多嵌套元素和元素变化较多时,每个控件需要绑定相应注册事件对应函数的数量也随着增多,从而带来代码耦合度高、冗余代码过多,维护难度大,业务实现逻辑复杂等问题。
发明内容
本发明实施例提供一种控件元素的控制方法、装置、设备及存储介质,以实现能够减少控件元素注册事件的代码耦合度和代码冗余度,简化业务实现逻辑,降低代码维护难度。
第一方面,本发明实施例提供了一种控件元素的控制方法,包括:
接收触发事件输入信号,并获取焦点;
根据所述触发事件输入信号,确定所述焦点指向的获焦控件元素;
若所述获焦控件元素存在对应的注册对象和注册函数,则执行所述注册函数,并确定执行结果,以表征是否需要执行所述获焦控件元素的父容器对应的注册事件;
根据所述执行结果控制所述获焦控件元素。
进一步的,根据所述执行结果控制所述获焦控件元素,包括:
若所述执行结果为第一结果,则结束所述触发事件;
若所述执行结果为第二结果,则控制所述焦点指向所述获焦控件元素的父容器,根据所述父容器更新所述获焦控件元素,返回判断所述获焦控件元素是否存在对应的注册对象和注册函数,并确定执行结果,根据所述执行结果控制所述获焦控件元素。
进一步的,还包括:
若所述获焦控件元素不存在对应的注册对象,则结束所述触发事件;
若所述获焦控件元素存在对应的注册对象,且不存在对应的注册函数,则控制所述焦点指向所述获焦控件元素的父容器,根据所述父容器更新所述获焦控件元素,返回判断所述获焦控件元素是否存在对应的注册对象和注册函数,根据所述执行结果控制所述获焦控件元素。
进一步的,根据所述触发事件输入信号,确定所述焦点指向的获焦控件元素,包括:
若所述触发事件输入信号为方向信号,则确定所述焦点指向的当前控件元素的相邻控件元素,其中,所述相邻控件元素是与所述当前控件元素在预设方向上距离最近的控件元素;
若所述相邻控件元素的个数为一个,则将所述相邻控件元素确定为获焦控件元素;
若所述相邻控件元素的个数大于一个,则根据所述当前控件元素的位置与各所述相邻控件元素的位置确定获焦控件元素;
若所述触发事件输入信号为非方向信号,则确定所述当前控件元素为获焦控件元素。
进一步的,根据所述当前控件元素的位置与各所述相邻控件元素的位置信息确定获焦控件元素,包括:
确定当前控件元素与各相邻控件元素的映射重合长度,将最大映射重合长度对应的相邻控件元素确定为可获焦控件元素;
若所述可获焦控件元素的个数为一个,则确定所述可获焦控件元素为获焦控件元素;
若所述可获焦控件元素的个数大于一个,则确定当前控件元素与各可获焦控件元素在相邻边框上的中心点之间的距离,将最短距离对应的可获焦控件元素确定为获焦控件元素。
进一步的,在接收触发事件输入信号之前,还包括:
对页面内各容器绑定第一注册事件,所述第一注册事件为所述容器内各控件元素的公共事件,所述公共事件为至少两个控件元素对应的相同事件;
对各所述容器内的各控件元素绑定第二注册事件,所述第二注册事件为所述容器内各所述控件元素的非公共事件。
第二方面,本发明实施例还提供了一种控件元素的控制装置,该装置包括:
接收模块,用于接收触发事件输入信号,并获取焦点;
第一确定模块,用于根据所述触发事件输入信号,确定所述焦点指向的获焦控件元素;
第二确定模块,用于若所述获焦控件元素存在对应的注册对象和注册函数,则执行所述注册函数,并确定执行结果,以表征是否需要执行所述获焦控件元素的父容器对应的注册事件;
控制模块,用于根据所述执行结果控制所述获焦控件元素。
进一步的,所述控制模块,包括:
结束单元,用于若所述执行结果为第一结果,则结束所述触发事件;
控制单元,用于若所述执行结果为第二结果,则控制所述焦点指向所述获焦控件元素的父容器,根据所述父容器更新所述获焦控件元素,返回判断所述获焦控件元素是否存在对应的注册对象和注册函数,并确定执行结果,根据所述执行结果控制所述获焦控件元素。
第三方面,本发明实施例还提供了一种控制设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例中任一所述的控件元素的控制方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的控件元素的控制方法。
本发明实施例通过接收触发事件输入信号,并获取焦点;根据所述触发事件输入信号,确定所述焦点指向的获焦控件元素;若所述获焦控件元素存在对应的注册对象和注册函数,则执行所述注册函数,并确定执行结果,以表征是否需要执行所述获焦控件元素的父容器对应的注册事件;根据所述执行结果控制所述获焦控件元素,解决当页面出现多嵌套元素和元素变化较多时,每个控件需要绑定相应注册事件,从而带来代码耦合度高、冗余代码过多,维护难度大,业务实现逻辑复杂的问题,实现减少控件元素注册事件的代码耦合度和代码冗余度,简化业务实现逻辑,降低代码维护难度的效果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1a是本发明实施例一中的一种控件元素的控制方法的流程图;
图1b是本发明实施例一中的一种控件元素的初始化方法的流程图;
图2a是本发明实施例二中的一种控件元素的控制方法的流程图;
图2b是本发明实施例二中的一种控件元素的初始化方法的流程图;
图2c是本发明实施例二中的另一种控件元素的控制方法的流程图;
图3a是本发明实施例三中的一种控件元素的控制方法的流程图;
图3b是本发明实施例三中的一种确定获焦控件元素方法的示意图;
图4是本发明实施例四中的一种控件元素的控制装置的结构示意图;
图5是本发明实施例五中的一种控制设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例一
图1a为本发明实施例一提供的一种控件元素的控制方法的流程图,本实施例可适用于触发电视页面内控件元素,执行所述控件元素对应的注册事件的情况,该方法可以由本发明实施例中的控件元素的控制装置来执行,该装置可采用软件和/或硬件的方式实现,如图1a所示,该方法具体包括如下步骤:
S110,接收触发事件输入信号,并获取焦点。
其中,所述触发事件输入信号可以为触发事件对应的输入信号,所述触发事件可以为系统事件和用户事件。所述系统事件表示由系统触发的事件,例如可以是加载事件、访问事件。所述用户事件表示由用户触发的事件,例如可以是用户通过遥控器输入的按键对应的事件。示例性的所述用户事件对应的输入信号可以包括:确定信号、返回信号和方向信号。若用户触发返回信号,则触发事件为执行返回功能,若用户输入上行方向键,则触发事件为执行上行功能。
其中,焦点可以用于指示被选中的对象。当控件元素获得焦点时,可以表征该控件元素被选中,相应的也具备了接收触发事件输入信号的能力。
S120,根据所述触发事件输入信号,确定所述焦点指向的获焦控件元素。
其中,所述控件元素为用户界面上的控件,例如可以是按钮、图表、视窗和文本框等。所述获焦控件元素可以是焦点指向的控件元素。只有获焦控件元素才可以接收触发事件输入信号,执行控件元素对应的事件内容。
在一个具体的例子中,若所述触发事件输入信号为方向信号,则确定所述当前控件元素的相邻控件元素为获焦控件元素,所述相邻控件元素是与当前控件元素在预设方向上距离最近的控件元素。示例性的,可以确定相邻控件元素中任一个控件元素为获焦控件元素,也可以根据所述当前控件元素的位置与各所述相邻控件元素的位置确定获焦控件元素吗,本发明实施例对此不设限制。
在另一个具体的例子中,若所述触发事件输入信号为非方向信号,例如可以是确定信号、返回信号、加载信号或访问信号等其他非方向的信号,则确定所述焦点指向的当前控件元素为获焦控件元素。
S130,若所述获焦控件元素存在对应的注册对象和注册函数,则执行所述注册函数,并确定执行结果,以表征是否需要执行所述获焦控件元素的父容器对应的注册事件。
其中,注册事件包括注册对象和注册函数,所述注册对象表示控件元素上触发事件输入信号对应的执行对象,所述注册函数为执行对象对应的自定义事件的函数。
其中,容器可以理解为可以容纳多个控件元素的对象类型,所述父容器可以简单理解为多个控件元素对应的父元素。
示例性的,若所述获焦控件元素存在对应的注册对象则表示所述触发事件输入信号具有执行对象,则继续判断所述获焦控件元素的注册对象是否存在触发事件输入信号对应的注册函数,若存在所述注册函数,则执行所述注册函数,并确定执行结果。
在本实施例中,多个不同控件元素对应的相同事件可以绑定在所述多个不同控件元素对应的父容器上,而无需将所述相同事件依次绑定在不同控件元素上,以减少控件元素注册事件的代码耦合度和代码冗余度。因此,所述执行结果可以用以表征是否需要执行所述获焦控件元素的父容器对应的注册事件。若所述获焦控件元素绑定的注册事件中不存在所述触发事件,或获焦控件元素绑定的注册事件不能完成所述触发事件的全部事件,则需要执行所述获焦控件元素的父容器对应的注册事件。
S140,根据所述执行结果控制所述获焦控件元素。
可选的,根据所述执行结果控制所述获焦控件元素,包括:
若所述执行结果为第一结果,则结束所述触发事件;
若所述执行结果为第二结果,则控制所述焦点指向所述获焦控件元素的父容器,根据所述父容器更新所述获焦控件元素,返回判断所述获焦控件元素是否存在对应的注册对象和注册函数,并确定执行结果,根据所述执行结果控制所述获焦控件元素。
具体的,所述执行结果用于表征是否需要执行所述获焦控件元素的父容器对应的注册事件。所述执行结果包括:第一结果和第二结果,所述第一结果可以为FALSE,相应的所述第二结果可以为TRUE。若执行结果可以为TRUE,表示触发事件未完成,需要执行所述获焦控件元素的父容器对应的注册事件,因此,控制所述焦点指向所述获焦控件元素的父容器,根据所述父容器更新所述获焦控件元素,继续判断所述获焦控件元素是否存在对应的注册对象和注册函数。若执行结果可以为FALSE,表示触发事件已完成,结束所述触发事件输入信号。
需要说明的是,所述执行结果还可以为1信号和0信号或其他信号,本发明实施例对此不设限制。
示例性的,如图1b所示,在当前窗口容器内的控件元素A、B、C的确定按键上绑定对应的自定义事件,在当前窗口容器上的“确定”按键和“返回”按键均绑定关闭窗口事件。当焦点指向当前窗口容器内控件元素A、B、C的任一控件元素上时,触发“确定”按键,则执行自定义事件;触发“返回”按键,则控制焦点返回当前窗口的容器,执行关闭窗口事件。当焦点指向当前窗口容器内的“关闭”控件元素D时,触发确定或关闭信号,均会控制焦点返回当前窗口的容器,执行关闭窗口事件。
本实施例的技术方案,通过接收触发事件输入信号,并获取焦点;根据所述触发事件输入信号,确定所述焦点指向的获焦控件元素;若所述获焦控件元素存在对应的注册对象和注册函数,则执行所述注册函数,并确定执行结果,以表征是否需要执行所述获焦控件元素的父容器对应的注册事件;根据所述执行结果控制所述获焦控件元素,能够减少控件元素注册事件的代码耦合度和代码冗余度,简化业务实现逻辑,降低代码维护难度。
实施例二
图2a为本发明实施例二中的一种控件元素的控制方法的流程图,本实施例以上述实施例为基础进行优化,在本实施例中,在接收触发事件输入信号之前,还包括:对页面内各容器绑定第一注册事件,所述第一注册事件为所述容器内各控件元素的公共事件,所述公共事件为至少两个控件元素对应的相同事件;对各所述容器内的各控件元素绑定第二注册事件,所述第二注册事件为所述容器内各所述控件元素的非公共事件。
如图2a所示,本实施例的方法具体包括如下步骤:
S210,对页面内各容器绑定第一注册事件。
其中,所述第一注册事件为所述容器内各控件元素的公共事件,所述公共事件为至少两个控件元素对应的相同事件。
具体的,如图2b所示,遍历页面内节点元素的树形结构,从根节点起递归执行对每一个节点元素的初始化操作,直到树形结构的叶子元素。初始化的操作可以包括:获取每个容器节点内各控件元素的公共事件,将所述公共事件作为第一注册事件绑定在每个容器节点上。
需要说明的是,所述公共事件可以是容器内各控件元素的对应的相同事件,也可以是容器内各控件元素中部分控件元素对应的相同事件。
这样设置的好处在于:预先将多个不同控件元素对应的公共事件绑定在所述多个不同控件元素对应的父容器上,而无需将所述公共事件依次绑定在不同控件元素上,使公共事件可以得到复用,从而减少控件元素注册事件的代码耦合度和代码冗余度。
S220,对各所述容器内的各控件元素绑定第二注册事件。
其中,所述第二注册事件为所述容器内各所述控件元素的非公共事件。
具体的,对每一个节点元素的初始化操作还可以包括:获取每个容器节点内各控件元素的非公共事件,将所述非公共事件作为第二注册事件绑定在每个容器节点内的各控件元素内。
这样设置的好处在于:将各控件元素的非公共事件绑定在各控件元素上,可以丰富各控件元素的个性化功能,为用户提供丰富的内容。
S230,接收触发事件输入信号,并获取焦点。
S240,根据所述触发事件输入信号,确定所述焦点指向的获焦控件元素。
S240,若所述获焦控件元素存在对应的注册对象和注册函数,则执行所述注册函数,并确定执行结果,以表征是否需要执行所述获焦控件元素的父容器对应的注册事件。
S250,根据所述执行结果控制所述获焦控件元素。
本实施例的技术方案,通过对页面内各容器绑定第一注册事件,所述第一注册事件为所述容器内各控件元素的公共事件;对各所述容器内的各控件元素绑定第二注册事件,所述第二注册事件为所述容器内各所述控件元素的非公共事件;接收触发事件输入信号,并获取焦点;根据所述触发事件输入信号,确定所述焦点指向的获焦控件元素;若所述获焦控件元素存在对应的注册对象和注册函数,则执行所述注册函数,并确定执行结果,以表征是否需要执行所述获焦控件元素的父容器对应的注册事件;根据所述执行结果控制所述获焦控件元素,能够将不同控件元素对应的相同注册事件绑定在各所述控件元素的父容器上,避免对每个控件元素依次绑定注册事件,进而减少控件元素注册事件的代码耦合度和代码冗余度,简化业务实现逻辑,降低代码维护难度。
在上述实施例的基础上,还包括:
若所述获焦控件元素不存在对应的注册对象,则结束所述触发事件;
若所述获焦控件元素存在对应的注册对象,且不存在对应的注册函数,则控制所述焦点指向所述获焦控件元素的父容器,根据所述父容器更新所述获焦控件元素,返回判断所述获焦控件元素是否存在对应的注册对象和注册函数,并确定执行结果,根据所述执行结果控制所述获焦控件元素。
具体的,若所述获焦控件元素不存在对应的注册对象,则表示不存在所述触发事件对应的执行对象,结束所述触发事件。若所述获焦控件元素存在对应的注册对象,且不存在对应的注册函数,则表示所述获焦控件元素绑定的注册事件中不存在所述触发事件,需要执行所述获焦控件元素的父容器对应的注册事件,因此,控制所述焦点指向所述获焦控件元素的父容器,根据所述父容器更新所述获焦控件元素,返回判断所述获焦控件元素是否存在对应的注册对象和注册函数,并确定执行结果,根据所述执行结果控制所述获焦控件元素,直到执行结果为第一结果,结束所述触发事件。
通过迭代判断所述获焦控件元素是否存在对应的注册对象和注册函数,并确定执行结果,根据所述执行结果控制所述获焦控件元素,可以使多个不同控件元素对应的相同事件可以绑定在所述多个不同控件元素所处的容器上,而无需将所述相同事件依次绑定在不同控件元素上,以减少控件元素注册事件的代码耦合度和代码冗余度。
如图2c所示,本发明实施的具体步骤为:接收触发事件输入信号,根据所述触发事件输入信号确定焦点指向的获焦控件元素,判断获焦控件元素是否存在触发事件对应的注册对象,若不存在所述注册对象,则结束触发事件;若存在所述注册对象,则继续判断获焦控件元素是否存在触发事件对应的注册函数,则执行注册函数,确定执行结果。若执行结果表征需要执行获焦控件元素的父容器对应的注册事件,则控制焦点指向所述获焦控件元素的父容器,根据所述父容器更新所述获焦控件元素,返回判断所述获焦控件元素是否存在对应的注册对象和注册函数,并确定执行结果,根据所述执行结果控制所述获焦控件元素,直到执行结果表征不需要执行获焦控件元素的父容器对应的注册事件,结束所述触发事件,实现多个不同控件元素对应的相同事件可以绑定在所述多个不同控件元素对应的父容器上,无需将所述相同事件依次绑定在不同控件元素上,从而减少控件元素注册事件的代码耦合度和代码冗余度。
实施例三
图3a为本发明实施例三中的一种控件元素的控制方法的流程图,本实施例以上述实施例为基础进行优化,在本实施例中,根据所述触发事件输入信号,确定所述焦点指向的获焦控件元素,包括:若所述触发事件输入信号为方向信号,则确定所述当前控件元素的相邻控件元素,其中,所述相邻控件元素是与当前控件元素在预设方向上距离最近的控件元素;若所述相邻控件元素的个数为一个,则将所述相邻控件元素确定为获焦控件元素;若所述相邻控件元素的个数大于一个,则根据所述当前控件元素的位置与各所述相邻控件元素的位置确定获焦控件元素;若所述触发事件输入信号为非方向信号,则确定所述焦点指向的当前控件元素为获焦控件元素。
如图3a所示,本实施例的方法具体包括如下步骤:
S310,接收触发事件输入信号,并获取焦点。
S320,若所述触发事件输入信号为方向信号,则确定所述焦点指向的当前控件元素的相邻控件元素。
其中,方向信号可以包括:向上信号、向下信号、向左信号和向右信号。所述当前控件元素为当前时刻焦点所指向的控件元素,所述相邻控件元素是与当前控件元素在预设方向上距离最近的控件元素。所述相邻控件元素和所述当前控件元素可以在同一个容器内,也可以在相邻的两个容器内,或者在相互嵌套的两个容器内。所述相邻控件元素的数量可以为一个、两个或多个。
S330,若所述相邻控件元素的个数为一个,则将所述相邻控件元素确定为获焦控件元素。
具体的,若所述相邻控件元素的个数为一个,表示在当前控件元素预设方向上只有一个控件元素,则将所述相邻控件元素确定为获焦控件元素。
S340,若所述相邻控件元素的个数大于一个,则根据所述当前控件元素的位置与各所述相邻控件元素的位置确定获焦控件元素。
具体的,若所述相邻控件元素的个数大于一个,表示表示在当前控件元素预设方向上有多个控件元素,则需要根据所述当前控件元素的位置与各所述相邻控件元素的位置确定获焦控件元素。
在一个具体的例子中,根据所述当前控件元素的位置与各所述相邻控件元素的位置确定获焦控件元素的方式可以为:确定当前控件元素与各相邻控件元素的映射重合长度,将最大映射重合长度对应的相邻控件元素确定为可获焦控件元素。
在另一个具体的例子中,根据所述当前控件元素的位置与各所述相邻控件元素的位置确定获焦控件元素的方式可以为:确定当前控件元素与各可获焦控件元素在相邻边框上的中心点之间的距离,将最短距离对应的可获焦控件元素确定为获焦控件元素。
在另一个具体的例子中,根据所述当前控件元素的位置与各所述相邻控件元素的位置确定获焦控件元素的方式可以为:确定当前控件元素与各相邻控件元素的映射重合长度,将最大映射重合长度对应的相邻控件元素确定为可获焦控件元素;若所述可获焦控件元素的个数为一个,则确定所述可获焦控件元素为获焦控件元素;若所述可获焦控件元素的个数大于一个,则确定当前控件元素与各可获焦控件元素在相邻边框上的中心点之间的距离,将最短距离对应的可获焦控件元素确定为获焦控件元素。
S350,若所述触发事件输入信号为非方向信号,则确定所述当前控件元素为获焦控件元素。
其中,所述非方向信号可以理解为处向上信号、向下信号、向左信号和向右信号之外的信号,可以为系统事件输入信号或者用户事件输入信号。例如,可以是确定信号、返回信号和加载信号等。
S360,若所述获焦控件元素存在对应的注册对象和注册函数,则执行所述注册函数,并确定执行结果,以表征是否需要执行所述获焦控件元素的父容器对应的注册事件。
S370,根据所述执行结果控制所述获焦控件元素。
本实施例的技术方案,通过接收触发事件输入信号,并获取焦点;若所述触发事件输入信号为方向信号,则确定所述焦点指向的当前控件元素的相邻控件元素,其中,所述相邻控件元素是与所述当前控件元素在预设方向上距离最近的控件元素;若所述相邻控件元素的个数为一个,则将所述相邻控件元素确定为获焦控件元素;若所述相邻控件元素的个数大于一个,则根据所述当前控件元素的位置与各所述相邻控件元素的位置确定获焦控件元素;若所述触发事件输入信号为非方向信号,则确定所述当前控件元素为获焦控件元素;若所述获焦控件元素存在对应的注册对象和注册函数,则执行所述注册函数,并确定执行结果,以表征是否需要执行所述获焦控件元素的父容器对应的注册事件;根据所述执行结果控制所述获焦控件元素,能针对页面内各控件元素布局不规则的情况,根据控件元素的位置确定焦点指向的下一个获焦控件元素,优化焦点移动方案,提升页面控件元素控制的用户体验。
在上述实施例的基础上,根据所述当前控件元素的位置与各所述相邻控件元素的位置信息确定获焦控件元素,包括:
确定当前控件元素与各相邻控件元素的映射重合长度,将最大映射重合长度对应的相邻控件元素确定为可获焦控件元素;
若所述可获焦控件元素的个数为一个,则确定所述可获焦控件元素为获焦控件元素;
若所述可获焦控件元素的个数大于一个,则确定当前控件元素与各可获焦控件元素在相邻边框上的中心点之间的距离,将最短距离对应的可获焦控件元素确定为获焦控件元素。
其中,所述映射重合长度可以理解为两个控件元素在映射到同一直线上的重合长度。可获焦控件元素可以理解为满足第一条件的控件元素,若所述可获焦控件元素还满足第二条件,则可确定为获焦控件元素。
具体的,若当前控件元素在预设方向上有多个相邻控件元素,则需要获焦控件元素的位置与各所述相邻控件元素的位置信息,从多个相邻控件元素中确定一个唯一的获焦控件元素。首先,确定当前控件元素与各相邻控件元素的映射重合长度,将最大映射重合长度对应的相邻控件元素确定为可获焦控件元素。其次,由于最大映射重合长度对应的多个相邻控件元素可能存在多个,因此,判断所述可获焦控件元素是否唯一。若唯一,则确定所述可获焦控件元素为获焦控件元素;若不唯一,则确定当前控件元素与各可获焦控件元素在相邻边框上的中心点之间的距离,将最短距离对应的可获焦控件元素确定为获焦控件元素,以保证获焦控件元素是唯一的。
如图3b所示,在一个具体的例子中,在所述触发事件输入信号为向下信号时,若当前控件元素为控件元素A,则将唯一的相邻控件元素B确定为获焦控件元素,控件元素A和控件元素B在同一个容器1内。
在另一个具体的例子中,若当前控件元素为控件元素B,则相邻控件元素包括控件元素C、D和E,根据控件元素C、D、E分别与当前控件元素B的映射重合长度,确定控件元素C为获焦控件元素,获焦控件元素C在当前控件元素B所在容器1的相邻容器2内。
在另一个具体的例子中,若当前控件元素为控件元素C,则相邻控件元素包括控件元素F和G,且控件元素F和G与当前控件元素C的映射重合长度相等且最大,则确定控件元素F和G为可获焦控件元素;根据当前控件元素C与可获焦控件元素F在相邻边框上的中心点之间的第一距离,以及当前控件元素C与可获焦控件元素F在相邻边框上的中心点之间的第二距离,其中第一距离大于第二距离,确定可获焦控件元素F为获焦控件元素。获焦控件元素F在当前控件元素C所在容器1的外嵌容器3内。
实施例四
图4为本发明实施例四提供的一种控件元素的控制装置的结构示意图。本实施例可适用于触发电视页面内控件元素,执行所述控件元素对应的注册事件的情况,该装置可采用软件和/或硬件的方式实现,该装置可集成在任何提供控件元素控制的功能的设备中,如图4所示,所述控件元素的控制装置具体包括:接收模块410、第一确定模块420、第二确定模块430和控制模块440。
其中,接收模块410,用于接收触发事件输入信号,并获取焦点;
第一确定模块420,用于根据所述触发事件输入信号,确定所述焦点指向的获焦控件元素;
第二确定模块430,用于若所述获焦控件元素存在对应的注册对象和注册函数,则执行所述注册函数,并确定执行结果,以表征是否需要执行所述获焦控件元素的父容器对应的注册事件;
控制模块440,用于根据所述执行结果控制所述获焦控件元素。
可选的,控制模块440,包括:
结束单元,用于若所述执行结果为第一结果,则结束所述触发事件;
控制单元,用于若所述执行结果为第二结果,则控制所述焦点指向所述获焦控件元素的父容器,根据所述父容器更新所述获焦控件元素,返回判断所述获焦控件元素是否存在对应的注册对象和注册函数,并确定执行结果,根据所述执行结果控制所述获焦控件元素。
可选的,所述装置还包括:
结束模块,用于若所述获焦控件元素不存在对应的注册对象,则结束所述触发事件;
返回模块,用于若所述获焦控件元素存在对应的注册对象,且不存在对应的注册函数,则控制所述焦点指向所述获焦控件元素的父容器,根据所述父容器更新所述获焦控件元素,返回判断所述获焦控件元素是否存在对应的注册对象和注册函数,根据所述执行结果控制所述获焦控件元素。
可选的,第一确定模块420,具体用于:
若所述触发事件输入信号为方向信号,则确定所述焦点指向的当前控件元素的相邻控件元素,其中,所述相邻控件元素是与所述当前控件元素在预设方向上距离最近的控件元素;
若所述相邻控件元素的个数为一个,则将所述相邻控件元素确定为获焦控件元素;
若所述相邻控件元素的个数大于一个,则根据所述当前控件元素的位置与各所述相邻控件元素的位置确定获焦控件元素;
若所述触发事件输入信号为非方向信号,则确定所述当前控件元素为获焦控件元素。
可选的,第一确定模块420,还用于:
确定当前控件元素与各相邻控件元素的映射重合长度,将最大映射重合长度对应的相邻控件元素确定为可获焦控件元素;
若所述可获焦控件元素的个数为一个,则确定所述可获焦控件元素为获焦控件元素;
若所述可获焦控件元素的个数大于一个,则确定当前控件元素与各可获焦控件元素在相邻边框上的中心点之间的距离,将最短距离对应的可获焦控件元素确定为获焦控件元素。
可选的,所述装置还包括:
第一绑定模块,用于在接收触发事件输入信号之前,对页面内各容器绑定第一注册事件,所述第一注册事件为所述容器内各控件元素的公共事件,所述公共事件为至少两个控件元素对应的相同事件;
第二绑定模块,用于对各所述容器内的各控件元素绑定第二注册事件,所述第二注册事件为所述容器内各所述控件元素的非公共事件。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五中的一种控制设备的结构示意图。图5示出了适于用来实现本发明实施方式的示例性控制设备12的框图。图5显示的控制设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,控制设备12以通用计算设备的形式表现。控制设备12的组件可以包括但不限于:一个或者多个处理器或者处理器16,系统存储器28,连接不同系统组件(包括系统存储器28和处理器16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
控制设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被控制设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。控制设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
控制设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该控制设备12交互的设备通信,和/或与使得该控制设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。另外,本实施例中的控制设备12,显示器24不是作为独立个体存在,而是嵌入镜面中,在显示器24的显示面不予显示时,显示器24的显示面与镜面从视觉上融为一体。并且,控制设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与控制设备12的其它模块通信。应当明白,尽管图中未示出,可以结合控制设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的控件元素的控制方法:接收触发事件输入信号,并获取焦点;根据所述触发事件输入信号,确定所述焦点指向的获焦控件元素;若所述获焦控件元素存在对应的注册对象和注册函数,则执行所述注册函数,并确定执行结果,以表征是否需要执行所述获焦控件元素的父容器对应的注册事件;根据所述执行结果控制所述获焦控件元素。
实施例六
本发明实施例六提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的控件元素的控制方法:接收触发事件输入信号,并获取焦点;根据所述触发事件输入信号,确定所述焦点指向的获焦控件元素;若所述获焦控件元素存在对应的注册对象和注册函数,则执行所述注册函数,并确定执行结果,以表征是否需要执行所述获焦控件元素的父容器对应的注册事件;根据所述执行结果控制所述获焦控件元素。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种控件元素的控制方法,其特征在于,包括:
接收触发事件输入信号,并获取焦点;
根据所述触发事件输入信号,确定所述焦点指向的获焦控件元素;
若所述获焦控件元素存在对应的注册对象和注册函数,则执行所述注册函数,并确定执行结果,以表征是否需要执行所述获焦控件元素的父容器对应的注册事件;
根据所述执行结果控制所述获焦控件元素。
2.根据权利要求1所述的方法,其特征在于,根据所述执行结果控制所述获焦控件元素,包括:
若所述执行结果为第一结果,则结束所述触发事件;
若所述执行结果为第二结果,则控制所述焦点指向所述获焦控件元素的父容器,根据所述父容器更新所述获焦控件元素,返回判断所述获焦控件元素是否存在对应的注册对象和注册函数,并确定执行结果,根据所述执行结果控制所述获焦控件元素。
3.根据权利要求1所述的方法,其特征在于,还包括:
若所述获焦控件元素不存在对应的注册对象,则结束所述触发事件;
若所述获焦控件元素存在对应的注册对象,且不存在对应的注册函数,则控制所述焦点指向所述获焦控件元素的父容器,根据所述父容器更新所述获焦控件元素,返回判断所述获焦控件元素是否存在对应的注册对象和注册函数,根据所述执行结果控制所述获焦控件元素。
4.根据权利要求1所述的方法,其特征在于,根据所述触发事件输入信号,确定所述焦点指向的获焦控件元素,包括:
若所述触发事件输入信号为方向信号,则确定所述焦点指向的当前控件元素的相邻控件元素,其中,所述相邻控件元素是与所述当前控件元素在预设方向上距离最近的控件元素;
若所述相邻控件元素的个数为一个,则将所述相邻控件元素确定为获焦控件元素;
若所述相邻控件元素的个数大于一个,则根据所述当前控件元素的位置与各所述相邻控件元素的位置确定获焦控件元素;
若所述触发事件输入信号为非方向信号,则确定所述当前控件元素为获焦控件元素。
5.根据权利要求4所述的方法,其特征在于,根据所述当前控件元素的位置与各所述相邻控件元素的位置信息确定获焦控件元素,包括:
确定当前控件元素与各相邻控件元素的映射重合长度,将最大映射重合长度对应的相邻控件元素确定为可获焦控件元素;
若所述可获焦控件元素的个数为一个,则确定所述可获焦控件元素为获焦控件元素;
若所述可获焦控件元素的个数大于一个,则确定当前控件元素与各可获焦控件元素在相邻边框上的中心点之间的距离,将最短距离对应的可获焦控件元素确定为获焦控件元素。
6.根据权利要求1所述的方法,其特征在于,在接收触发事件输入信号之前,还包括:
对页面内各容器绑定第一注册事件,所述第一注册事件为所述容器内各控件元素的公共事件,所述公共事件为至少两个控件元素对应的相同事件;
对各所述容器内的各控件元素绑定第二注册事件,所述第二注册事件为所述容器内各所述控件元素的非公共事件。
7.一种控件元素的控制装置,其特征在于,包括:
接收模块,用于接收触发事件输入信号,并获取焦点;
第一确定模块,用于根据所述触发事件输入信号,确定所述焦点指向的获焦控件元素;
第二确定模块,用于若所述获焦控件元素存在对应的注册对象和注册函数,则执行所述注册函数,并确定执行结果,以表征是否需要执行所述获焦控件元素的父容器对应的注册事件;
控制模块,用于根据所述执行结果控制所述获焦控件元素。
8.根据权利要求7所述的装置,其特征在于,包括:
结束单元,用于若所述执行结果为第一结果,则结束所述触发事件;
控制单元,用于若所述执行结果为第二结果,则控制所述焦点指向所述获焦控件元素的父容器,根据所述父容器更新所述获焦控件元素,返回判断所述获焦控件元素是否存在对应的注册对象和注册函数,并确定执行结果,根据所述执行结果控制所述获焦控件元素。
9.一种控制设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6中任一所述的控件元素的控制方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的控件元素的控制方法。
CN202110510335.8A 2021-05-11 2021-05-11 一种控件元素的控制方法、装置、设备及存储介质 Pending CN113126992A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110510335.8A CN113126992A (zh) 2021-05-11 2021-05-11 一种控件元素的控制方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110510335.8A CN113126992A (zh) 2021-05-11 2021-05-11 一种控件元素的控制方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113126992A true CN113126992A (zh) 2021-07-16

Family

ID=76781601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110510335.8A Pending CN113126992A (zh) 2021-05-11 2021-05-11 一种控件元素的控制方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113126992A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007066077A (ja) * 2005-08-31 2007-03-15 Canon Inc Gui生成方法、gui生成装置、コンピュータプログラム及び記憶媒体
CN101253474A (zh) * 2005-08-30 2008-08-27 微软公司 用于命令的方法和计算机可读介质
CN102981821A (zh) * 2012-10-26 2013-03-20 北京百度网讯科技有限公司 一种事件代理方法及系统
US20140053063A1 (en) * 2012-08-14 2014-02-20 Microsoft Corporation User interface control framework for stamping out controls using a declarative template
CN107071583A (zh) * 2017-05-03 2017-08-18 四川易迅通健康医疗技术发展有限公司 一种用于iptv平台的epg页面焦点控制方法
CN108351899A (zh) * 2015-11-18 2018-07-31 三星电子株式会社 用于在网页中导航的方法和设备
CN109933321A (zh) * 2019-01-17 2019-06-25 平安科技(深圳)有限公司 基于Vue框架的表格显示方法及装置、存储介质
CN111274156A (zh) * 2020-02-25 2020-06-12 中信银行股份有限公司 兼容多框架页面的自动识别方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101253474A (zh) * 2005-08-30 2008-08-27 微软公司 用于命令的方法和计算机可读介质
JP2007066077A (ja) * 2005-08-31 2007-03-15 Canon Inc Gui生成方法、gui生成装置、コンピュータプログラム及び記憶媒体
US20140053063A1 (en) * 2012-08-14 2014-02-20 Microsoft Corporation User interface control framework for stamping out controls using a declarative template
CN102981821A (zh) * 2012-10-26 2013-03-20 北京百度网讯科技有限公司 一种事件代理方法及系统
CN108351899A (zh) * 2015-11-18 2018-07-31 三星电子株式会社 用于在网页中导航的方法和设备
CN107071583A (zh) * 2017-05-03 2017-08-18 四川易迅通健康医疗技术发展有限公司 一种用于iptv平台的epg页面焦点控制方法
CN109933321A (zh) * 2019-01-17 2019-06-25 平安科技(深圳)有限公司 基于Vue框架的表格显示方法及装置、存储介质
CN111274156A (zh) * 2020-02-25 2020-06-12 中信银行股份有限公司 兼容多框架页面的自动识别方法及装置

Similar Documents

Publication Publication Date Title
US10656909B2 (en) Learning intended user actions
CN111090628A (zh) 一种数据处理方法、装置、存储介质及电子设备
CN111813409A (zh) 一种交互界面的代码生成方法、装置、设备及存储介质
CN109960554A (zh) 展示阅读内容的方法、设备和计算机存储介质
CN112214155B (zh) 一种视图信息播放方法、装置、设备和存储介质
CN107817962B (zh) 一种远程控制方法、装置、控制服务器及存储介质
US11176087B2 (en) Efficient handling of bi-directional data
CN109086097B (zh) 一种小程序的启动方法、装置、服务器及存储介质
CN111736825B (zh) 一种信息展示方法、装置、设备和存储介质
CN112799760A (zh) 一种表单渲染方法及其装置
CN107992457B (zh) 一种信息转换方法、装置、终端设备及存储介质
CN110991431A (zh) 人脸识别方法、装置、设备及存储介质
CN113126992A (zh) 一种控件元素的控制方法、装置、设备及存储介质
CN110688467A (zh) 命名实体识别方法、装置、计算机设备及存储介质
CN113885998A (zh) 一种页面渲染方法、装置、电子设备及存储介质
US8775936B2 (en) Displaying dynamic and shareable help data for images a distance from a pointed-to location
CN111049988A (zh) 移动设备的亲密度预测方法、系统、设备及存储介质
CN112035732A (zh) 一种搜索结果的扩展方法、系统、设备和存储介质
CN109815325B (zh) 答案抽取方法、装置、服务器及存储介质
CN111596997A (zh) Ui信息的请求方法、装置、终端和存储介质
CN110659097B (zh) 语种文件处理方法、装置、设备及存储介质
CN111371529B (zh) 一种编码分配方法、装置、主控设备及存储介质
CN110868697B (zh) 车机与多个移动设备的互联方法、设备及存储介质
CN112445790B (zh) 一种报表数据存储方法、装置、设备及介质
CN113032650B (zh) 图书馆图书管理方法、装置、服务器及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination