CN103809954B - 实现界面元素选定的方法和装置 - Google Patents
实现界面元素选定的方法和装置 Download PDFInfo
- Publication number
- CN103809954B CN103809954B CN201210457676.4A CN201210457676A CN103809954B CN 103809954 B CN103809954 B CN 103809954B CN 201210457676 A CN201210457676 A CN 201210457676A CN 103809954 B CN103809954 B CN 103809954B
- Authority
- CN
- China
- Prior art keywords
- line segment
- interface element
- motion track
- terminal
- segment
- 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.)
- Active
Links
Landscapes
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种实现界面元素选定的方法和装置。所述方法包括:获取界面中的移动操作,并记录所述移动操作对应的移动轨迹;判断所述移动轨迹所确定的区域是否为闭合区域,若是,则将闭合区域内的界面元素选中。所述***包括:移动处理模块,用于获取界面中的移动操作,并记录所述移动操作对应的轨迹;有效性判定模块,用于判断所述移动轨迹所确定的区域是否为闭合区域,若是,则通知闭合区域处理模块;所述闭合区域处理模块用于将闭合区域内的界面元素选中。采用本发明简化了操作。
Description
技术领域
本发明涉及计算机交互技术,特别是涉及一种实现界面元素选定的方法和装置。
背景技术
终端设备向用户展示的交互界面通常设置了若干个界面元素,该界面元素一般为多选框或图标的形式,用户通过对界面元素点击或者长按操作来实现界面元素的选定,使得相应的界面元素处于选中状态。
例如,在界面元素为多选框的交互界面中,用户通过单击多选框中的内容来实现界面元素的选定。但是,这一界面元素的选定方式只适用于可选项较少的情况,若需要选择大量界面元素,用户不得不一个一个点击多选框,当有几十甚至上百个多选框需要进行选定时,所需要输入的单击操作数量将是非常庞大的,操作非常繁琐。
发明内容
基于此,有必要针对大量界面元素进行选定操作非常繁琐的问题,提供一种能简化操作的实现界面元素选定的方法。
此外,还有必要提供一种能简化操作的实现界面元素选定的装置。
一种实现界面元素选定的方法,包括如下步骤:
获取界面中的移动操作,并记录所述移动操作对应的移动轨迹;
判断所述移动轨迹所确定的区域是否为闭合区域,若是,则
将闭合区域内的界面元素选中。
一种实现界面元素选定的装置,其特征在于,包括:
移动处理模块,用于获取界面中的移动操作,并记录所述移动操作对应的轨迹;
有效性判定模块,用于判断所述移动轨迹所确定的区域是否为闭合区域,若是,则通知闭合区域处理模块;
所述闭合区域处理模块用于将闭合区域内的界面元素选中。
上述实现界面元素选定的方法和装置,获取用户在界面中输入的移动操作,根据移动操作所确定的闭合区域得于位于闭合区域中的界面元素,将这些界面元素选中,在这一界面元素的选定过程中,用户只需要在界面上随意输入移动操作即可实现大量界面元素的选定,大大地简化了操作,提高了对界面元素进行选定的速度。
附图说明
图1为一个实施例中实现界面元素选定的方法的流程图;
图2为一个实施例中获取界面中的移动操作,并记录移动操作对应的移动轨迹的方法流程图;
图3为另一个实施例中获取界面中的移动操作,并记录移动操作对应的移动轨迹的方法流程图;
图4为一个实施例中将闭合区域内的界面元素选中;
图5为另一个实施例中将闭合区域内的界面元素选中;
图6为一个实施例中实现界面元素选定的应用示意图;
图7为另一个实施例中实现界面元素选定的应用示意图;
图8为一个实施例中实现界面元素选定的装置的结构示意图;
图9为一个实施例中有效性判定模块的结构示意图;
图10为另一个实施例中有效性判定模块的结构示意图;
图11为一个实施例中闭合区域处理模块的结构示意图;
图12为另一个实施例中闭合区域处理模块的结构示意图;
图13为另一个实施例中闭合区域处理模块的结构示意图;
图14为另一个实施例中闭合区域处理模块的结构示意图。
具体实施方式
如图1所示,在一个实施例中,一种实现界面元素选定的方法,包括如下步骤:
步骤S110,获取界面中的移动操作,并记录移动操作对应的移动轨迹。
本实施例中,界面为终端设备向用户提供的操作界面,其中,界面上包括了若干个界面元素,该界面元素为操作界面上的图形元素。界面中的移动操作是用户通过触摸屏、鼠标或者触摸板等输入设备输入的,由用户在界面中的按下、移动和抬起这一系列动作形成。例如,移动操作为用户在界面中随意画下一个线条。
在界面中触发了移动操作之后,将记录用户移动操作的轨迹得到移动轨迹,并通过坐标的形式记录。具体的,界面所在的坐标系中,随着界面中触发的移动操作以坐标的形式进行记录,多个记录的坐标形成了移动操作对应的移动轨迹。例如,记录的坐标为界面所在的坐标系中x和y轴的坐标,n表示第n个点,(x1,y1),......,(xn,yn)组成了移动轨迹。
在记录移动操作的轨迹的过程中,还将在界面中显示移动操作所对应的轨迹,以向用户反馈输入的移动操作。
步骤S130,判断移动轨迹所确定的区域是否为闭合区域,若是,则进入步骤S150,若否,则结束。
本实施例中,移动轨迹可以是闭合的轨迹,也可以是半开放的轨迹,以方便用户操作。闭合区域是以用户的移动轨迹为界线在界面中所确定的区域,是能够通过移动轨迹来确定其具体范围的,在界面中所形成的闭合区域可以为一个或多个,多个闭合区域是用户进行多次移动操作所得到的。若判断到移动轨迹所确定的区域是闭合区域,则说明用户通过移动操作对界面元素的选定是有效的,若判断到移动轨迹确定的区域是开放的,则说明用户的移动操作是无效操作。
如图2所示,在一个实施例中,上述步骤S130的具体过程为:
步骤S131,在组成移动轨迹的线段中设置任意一条线段为起始线段,并以起始线段中的任一端点作为起始线段的终点。
本实施例中,移动操作所对应的移动轨迹是由若干条线段组成的,在组成移动轨迹的线段中以任意一条线段作为起始线段,并从起始线段的两个端点中选取任一个端点作为起始线段的终点,相应的,起始线段上的另一端点则为起始线段的起始点。
步骤S133,在移动轨迹的线段中以终点为起始,判断未与终点相交的线段是否与起始线段相交,若是,则进入步骤S150,若否,则结束。
本实施例中,在组成移动轨迹的若干个线段中,以起始线段的终点为起始,判断未与终点相交的线段是否与起始线段相交于起始点上,若是,则说明移动轨迹所确定的区域是闭合区域,若否,则说明移动轨迹所确定的区域是开放的。未与终点相交的线段是移动轨迹的线段中除了起始线段以及通过终点与起始线段相连的相邻线段之外的其它线段。这一未与终点相交却与起始线段相交的线段是移动轨迹中与起始线段相对应的终止线段。
如图3所示,在另一个实施例中,上述步骤S130还包括:
步骤S135,判断到未与终点相交的线段与起始线段不相交时,根据起始线段的起始方向得到未与终点相交的线段对应的终点,并计算得到的终点与起始线段的起点之间的距离。
本实施例中,起始方向为移动轨迹中由起始线段的起始点至终点的方向,沿着起始方向可以得到未与终点相交的线段所对应的终点,进而根据勾股定理计算得到未与终点相交的线段所对应的终点和起始线段的起点之间的距离。
步骤S 136,判断该距离是否小于阈值,若是,则进入步骤S137,若否,则结束。
本实施例中,移动轨迹可以是半开放的轨迹,若判断到计算得到的距离是处于阈值范围之内的,则说明用户的移动操作是有效操作,移动轨迹能够确定闭合区域,若判断到计算得到的距离是处于阈值范围之外的,则说明移动轨迹所对应的曲线两端的距离较远,无法形成一个确定的闭合区域,因此,用户所输入的移动操作是无效操作。
通过设定阈值对移动轨迹中的起始线段和相应的终止线段判定移动轨迹是否近似闭合,进而使得形成近似闭合的移动轨迹的移动操作也将被判定为有效操作,提高了用户操作的易用性和便捷性,使得用户不需要进行精确操作即可实现界面元素的选定。
步骤S137,通过得到的终点和起始线段的起点之间的连线得到移动轨迹所确定的闭合区域。
本实施例中,在半开放的移动轨迹中,通过未与终点相交的线段所对应的终点和起始线段的起点之间的连线可以确定闭合区域。其中,未与终点相交的线段所对应的终点和起始线段的起点之间的连线可以是将未与终点相交的线段所在的的终点和起始线段的起点直接相连所得到的线段,也可以是未与终点相交的线段所在的延长线和起始线段所在的延长线相连结得到的线段。
步骤S150,将闭合区域内的界面元素选中。
本实施例中,在界面中被判定为闭合区域的区域进行查找得到位于闭合区域中的界面元素,查找得到的界面元素为一个或者多个,将由未选中的界面元素变换为选中的界面元素。
如图4所示,在一个实施例中,上述步骤S150的具体过程为:
步骤S151,逐一以界面元素为起点进行延伸得到界面元素的射线。
本实施例中,界面中包含了若干个界面元素,在对界面中的每一界面元素进行位置判定,以获知该界面元素是否位于闭合区域中时,将逐一以界面元素为起点向一定方向延伸以得到相应的射线。在优选的实施例中,该延伸方向为界面所在坐标系中x轴的负方向。
步骤S153,获取该射线与组成移动轨迹的线段之间的交点总数,并判断交点总数是否为奇数,若是,则进入步骤S155,若否,则结束。
本实施例中,若界面元素位于移动轨迹所确定的闭合区域中,则该界面元素所对应的射线与移动轨迹的线段所形成的交点数量必然是奇数的,若界面元素位于移动轨迹所确定的闭合区域之外,则该界面元素所对应的射线与移动轨迹的线段所形成的交点数量必然是偶数的。
相应的,在获取到界面元素的射线与组成移动轨迹的线段之间的交点总数之后,若判断到交点总数是奇数的,则说明界面元素是处于移动轨迹所确定的闭合区域中的,是用户选定的界面元素,因此,将其标记为选中状态。若判断到交点总数是偶数的,则说明该界面元素是处于移动轨迹所确定的闭合区域之外的,因此该界面元素并不是用户选定的界面元素,不需要对其做任何处理。
步骤S155,将射线对应的界面元素选中。
本实施例中,在判断到射线与组成移动轨迹的线段之间的交点数量为奇数,则说明这一界面元素是位于界面中的闭合区域,将界面元素由未选中变换为选中。
在另一个实施例中,上述实现界面元素选定的方法还包括:在将得到的界面元素选中后,将被选中的界面元素标记为选中状态的步骤。
本实施例中,对选中的界面元素进行标记,以便于接收并响应用户输入的进一步操作。
如图5所示,在另一个实施例中,上述步骤S153之前还包括:
步骤S201,判断组成移动轨迹的线段是否与射线平行,若是,则进入步骤S203,若否,则进入步骤S153。
本实施例中,在通过界面元素的射线与组成移动轨迹的线段数量判定该界面元素是否为用户选定的界面元素时,还存在着一些特定的场景,因此,优先考虑存在的特定场景能够快速判定界面元素是否为用户选定的界面元素或去除干扰因素,进而提高处理效率和准确性。
具体的,特定场景为界面元素对应的射线与组成移动轨迹的线段处于平行的状态,此时,若该射线以及与该射线相互平行的线段之间是重叠的,则该射线以及与该射线相互平行的线段之间的交点数量将会是无数个;若该射线以及与该射线相互平等的线段之间是不重叠的,则没有交点,因此,在这一特定场景下将无法对交点数量确定具体的数值,因此,必须忽略与该射线平行的线段,为计算这与该射线平行的线段和射线之间的交点数量,以保证界面元素选定的准确性。
步骤S203,忽略与该射线平行的线段。
在另一个实施例中,上述步骤S153之前还包括:
判断界面元素所在区域是否与组成移动轨迹的线段有交集,若是,则进入步骤S155,若否,则进入步骤S153。
本实施例中,特定场景为界面元素位于移动轨迹上。若某一界面元素位于组成移动轨迹的某一线段之上,则直接判定该界面元素是处于移动轨迹所确定的闭合区域之内的,此时该界面元素即为用户选定的界面元素。
若界面元素并没有位于组成移动轨迹的某一线段之上,则需要获取该界面元素对应的射线与组成移动轨迹的线段之间的交点总数,进而继续判断该界面元素是否位于移动轨迹所确定的闭合区域中。
具体的,可以通过判断公式(y1-y0)*(x2-x0)-(y2-y0)*(x1-x0)==0是否成立来判定界面元素是否位于移动轨迹上,在判断到上述公式时成立的则进一步判断x0和y0是否均位于x1和x2以及y1和y2之间,若是,则判定界面元素所在区域与组成移动轨迹的某一线段有交集,其中,(xi,y1)和(x2,y2)分别为组成移动轨迹的线段中端点P1和端点P2的坐标,(x0,y0)界面元素p的坐标,界面元素的坐标可以设定为界面元素的中心位置所对应的坐标。
在另一个实施例中,上述步骤S153之前还包括:
判断该射线是否穿过线段的端点,若是,则忽略端点所在的任一线段,若否,则进入步骤S153。
本实施例中,特定场景为射线穿过线段的某一个端的情况。具体的,在相互连接的两条线段之间是通过端点连接的,因此界面元素的射线穿过线段端点时,该射线将与两条线段存在交点,但是实际上对于整个移动轨迹而言是只有一个交点的,因此,应当忽略其中一条线段,以保证交点数量的准确性。
下面结合一个具体的实施例来详细阐述上述实现界面元素选定的方法。该实施例中,如图6所示,界面元素中设置了界面元素A至界面元素I等九个界面元素,通过用户对任一界面元素的选定来触发相应的功能。通过用户在界面中的移动操作形成了界面中显示的曲线601,该曲线601即为记录的移动轨迹。在得到曲线601后判断得到该曲线601所确定的区域是一个闭合区域,此时,将查找得到界面元素A、界面元素B和界面元素C位于闭合区域中,因此,这三个界面元素即为用户所选定的界面元素,将界面元素A、界面元素B和界面元素C标记为选中状态。
另外,还可以通过用户的多次移动操作来实现界面元素的选定。具体的,如图7所示,用户除了首次移动操作所得到的曲线601之外,还输入了两次移动操作得到曲线701和曲线703,进而确定多个闭合区域,此时仍然按照上述方法查找得到位于闭合区域中的界面元素A、界面元素B、界面元素C、界面元素D以及界面元素E,进而将查找得到的界面元素标记为选中状态。
上述实现界面元素选定的方法中,在界面元素为图标的界面中,与用户通过键盘中的按键和单击操作的结合实现图标的选定或者通过按下鼠标并拖动来实现图标的选定这两种传统方式相比较,通过移动操作来实现界面元素的选定更易于应用在以触摸屏为输入设备的终端设备中,不需要外接键盘或者鼠标即可便捷地进行界面元素选定。
此外,对于通过键盘或鼠标对界面元素一一进行选定的过程中,往往会发生由于某一个误操作而使得多个元素的选定被放弃的情况,而通过移动操作所实现的界面元素选定将有效地避免了这一情况的发生。
如图8所示,在一个实施例中,一种实现界面元素选定的装置,包括移动处理模块110、有效性判定模块130以及闭合区域处理模块150。
移动处理模块110,用于获取界面中的移动操作,并记录移动操作对应的轨迹。
本实施例中,界面为终端设备向用户提供的操作界面,其中,界面上包括了若干个界面元素,该界面元素为操作界面上的图形元素。界面中的移动操作是用户通过触摸屏、鼠标或者触摸板等输入设备输入的,由用户在界面中的按下、移动和抬起这一系列动作形成。例如,移动操作为用户在界面中随意画下一个线条。
在界面中触发了移动操作之后,移动处理模块110将记录用户移动操作的轨迹得到移动轨迹,并通过坐标的形式记录。具体的,界面所在的坐标系中,移动处理模块110随着界面中触发的移动操作以坐标的形式进行记录,多个记录的坐标形成了移动操作对应的移动轨迹。例如,记录的坐标为界面所在的坐标系中x和y轴的坐标,n表示第n个点,(x1,y1),......,(xn,yn)组成了移动轨迹。
在记录移动操作的轨迹的过程中,移动处理模块110还将在界面中显示移动操作所对应的轨迹,以向用户反馈输入的移动操作。
有效性判定模块130,用于判断移动轨迹所确定的区域是否为闭合区域,若是,则通知闭合区域处理模块150,若否,则停止执行。
本实施例中,移动轨迹可以是闭合的轨迹,也可以是半开放的轨迹,以方便用户操作。闭合区域是以用户的移动轨迹为界线在界面中所确定的区域,是能够通过移动轨迹来确定其具体范围的,在界面中所形成的闭合区域可以为一个或多个,多个闭合区域是用户进行多次移动操作所得到的。若有效性判定模块130判断到移动轨迹确定的区域是闭合区域,则说明用户通过移动操作对界面元素的选定是有效的,若判断到移动轨迹确定的区域是开放的,则说明用户的移动操作是无效操作。
如图9所示,在一个实施例中,上述有效性判定模块130包括设置单元131以及相交判断单元133。
设置单元131,用于在组成移动轨迹的线段中设备任意一条线段为起始线段,并以起始线段中的任一端点作为起始线段的终点。
本实施例中,移动操作所对应的移动轨迹是由若干条线段组成的,在组成移动轨迹的线段中以任意一条线段作为起始线段,并从起始线段的两个端点中选取任一个端点作为起始线段的终点,相应的,起始线段上的另一端点则为起始线段的起始点。
相交判断单元133,用于在移动轨迹的线段中以终点为起始,判断未与终点相交的线段是否与起始线段相交,若是,则通知闭合处理模块150,若否,则停止执行。
本实施例中,在组成移动轨迹的若干个线段中,以起始线段的终点为起始,相交判断单元133判断未与终点相交的线段是否与起始线段相交于起始点上,若是,则说明移动轨迹所确定的区域是闭合区域,若否,则说明移动轨迹所确定的区域是开放的。未与终点相交的线段是移动轨迹的线段中除了起始线段以及通过终点与起始线段相连的相邻线段之外的其它线段。这一未与终点相交却与起始线段相交的线段是移动轨迹中与起始线段相对应的终止线段。
如图10所示,在另一个实施例中,上述有效性判定模块130还包括距离计算单元135以及距离判断单元137。
距离计算单元135,用于判断到未与终点相交的线段与起始线段不相交时,根据起始线段的起始方向得到未与终点相交的线段对应的终点,并计算得到的终点与起始线段的起点之间的起始距离。
本实施例中,起始方向为移动轨迹中由起始线段的起始点至终点的方向,距离计算单元135沿着起始方向可以得到未与终点相交的线段所对应的终点,进而根据勾股定理计算得到未与终点相交的线段所对应的终点和起始线段的起点之间的距离。
距离判断单元137,用于判断距离是否小于阈值,若是,则通过得到的终点和起始线段的起点之间的连线得到移动轨迹所确定的闭合区域,若否,则结束。
本实施例中,移动轨迹可以是半开放的轨迹,距离判断单元137若判断到计算得到的距离是处于阈值范围之内的,则说明用户的移动操作是有效操作,移动轨迹所能够确定的区域为闭合区域,若判断到计算得到的距离是处于阈值范围之外的,则说明移动轨迹所对应的曲线两端的距离较远,无法形成一个确定的闭合区域,因此,用户所输入的移动操作是无效操作。
距离判断单元137通过设定阈值对移动轨迹中的起始线段和相应的终止线段判定移动轨迹是否近似闭合,进而使得形成近似闭合的移动轨迹的移动操作也将被判定为有效操作,提高了用户操作的易用性和便捷性,使得用户不需要进行精确操作即可实现界面元素的选定。
在半开放的移动轨迹中,通过未与终点相交的线段所对应的终点和起始线段的起点之间的连线可以确定闭合区域。其中,未与终点相交的线段所对应的终点和起始线段的起点之间的连线可以是将未与终点相交的线段所在的的终点和起始线段的起点直接相连所得到的线段,也可以是未与终点相交的线段所在的延长线和起始线段所在的延长线相连结得到的线段。
闭合区域处理模块150,用于将闭合区域内的界面元素选中。
本实施例中,闭合区域处理模块150在界面中被判定为闭合区域的区域进行查找得到位于闭合区域中的界面元素,查找得到的界面元素为一个或者多个,将由未选中的界面元素变换为选中的界面元素。
如图11所示,在一个实施例中,上述闭合区域处理模块150包括延伸单元151、交点判断单元153以及标记单元155。
延伸单元151,用于逐一以界面元素为起点进行延伸得到界面元素的射线。
本实施例中,界面中包含了若干个界面元素,在对界面中的每一界面元素进行位置判定,以获知该界面元素是否位于闭合区域中时,延伸单元151将逐一以界面元素为起点向一定方向延伸以得到相应的射线。在优选的实施例中,该延伸方向为界面所在坐标系中x轴的负方向。
交点判断单元153,用于获取射线与组成移动轨迹的线段之间的交点总数,并判断交点总数是否为奇数,若是,则通知标记单元155,若否,则停止执行。
本实施例中,若界面元素位于移动轨迹所确定的闭合区域中,则该界面元素所对应的射线与移动轨迹的线段所形成的交点数量必然是奇数的,若界面元素位于移动轨迹所确定的闭合区域之外,则该界面元素所对应的射线与移动轨迹的线段所形成的交点数量必然是偶数的。
相应的,交点判断单元153在获取到界面元素的射线与组成移动轨迹的线段之间的交点总数之后,若判断到交点总数是奇数的,则说明界面元素是处于移动轨迹所确定的闭合区域中的,是用户选定的界面元素,因此,通知标记单元155将其标记为选中状态。若判断到交点总数是偶数的,则说明该界面元素是处于移动轨迹所确定的闭合区域之外的,因此该界面元素并不是用户选定的界面元素,不需要对其做任何处理。
标记单元155,用于将射线对应的界面元素选中。
本实施例中,在判断到射线与组成移动轨迹的线段之间的交点数量为奇数,则说明这一界面元素是位于界面中的闭合区域,标记单元155将界面元素由未选中变换为选中。
在另一个实施例中,上述闭合区域处理模块150还用于在将得到的界面元素选中后,将被选中的界面元素标记为选中状态。
本实施例中,闭合区域处理模块150对选中的界面元素进行标记,以便于接收并响应用户输入的进一步操作。
如图12所示,在一个实施例中,上述闭合区域处理模块150还包括平行判断单元156。
平行判断单元156,用于判断组成移动轨迹的线段是否与射线平行,若是,则忽略与该射线平行的线段,否,则通知交点判断单元153。
本实施例中,在通过界面元素的射线与组成移动轨迹的线段数量判定该界面元素是否为用户选定的界面元素时,还存在着一些特定的场景,因此,优先考虑存在的特定场景能够快速判定界面元素是否为用户选定的界面元素或去除干扰因素,进而提高处理效率和准确性。
具体的,特定场景为界面元素对应的射线与组成移动轨迹的线段处于平行的状态,此时,若该射线以及与该射线相互平行的线段之间是重叠的,则该射线以及与该射线相互平行的线段之间的交点数量将会是无数个;若该射线以及与该射线相互平等的线段之间是不重叠的,则没有交点,因此,在这一特定场景下将无法对交点数量确定具体的数值,因此,必须忽略与该射线平行的线段,为计算这与该射线平行的线段和射线之间的交点数量,以保证界面元素选定的准确性。
如图13所示,在一个实施例中,上述闭合区域处理模块150还包括位置判断单元157。
位置判断单元157,用于判断界面元素所在区域是否与组成移动轨迹的线段有交集,若是,则通知标记单元155,若否,则通知交点判断单元153。
本实施例中,特定场景为界面元素位于移动轨迹上。若某一界面元素位于组成移动轨迹的某一线段之上,则位置判断单元157直接判定该界面元素是处于移动轨迹所确定的闭合区域之内的,此时该界面元素即为用户选定的界面元素。
若界面元素并没有位于组成移动轨迹的某一线段之上,则需要获取该界面元素对应的射线与组成移动轨迹的线段之间的交点总数,进而继续判断该界面元素是否位于移动轨迹所确定的闭合区域中。
具体的,位置判断单元157可以通过判断公式(y1-y0)*(x2-x0)-(y2-y0)*(x1-x0)==0是否成立来判定界面元素是否位于移动轨迹上,在判断到上述公式时成立的则进一步判断x0和y0是否均位于x1和x2以及y1和y2之间,若是,则判定界面元素所在区域与组成移动轨迹有交集,其中,(xi,y1)和(x2,y2)分别为组成移动轨迹的线段中端点P1和端点P2的坐标,(x0,y0)界面元素p的坐标,界面元素的坐标可以设定为界面元素的中心位置所对应的坐标。
如图14所示,在一个实施例中,上述闭合区域处理模块150还包括端点判断单元158。
端点判断单元158,用于判断该射线是否穿过线段的端点,若是,则忽略端点所在的任一线段,若否,则通知交点判断单元153。
本实施例中,特定场景为射线穿过线段的某一个端的情况。具体的,在相互连接的两条线段之间是通过端点连接的,因此界面元素的射线穿过线段端点时,该射线将与两条线段存在交点,但是实际上对于整个移动轨迹而言是只有一个交点的,因此,应当忽略其中一条线段,以保证交点数量的准确性。
上述实现界面元素选定的装置中,可根据实际需要设置平行判断单元156、位置判断单元157以及端点判断单元158中的任一个单元,也可以将这三个单元都设置于上述实现界面元素选定的装置中。
上述实现界面元素选定的方法和装置,获取用户在界面中输入的移动操作,根据移动操作所确定的闭合区域得于位于闭合区域中的界面元素,将这些界面元素选中,在这一界面元素的选定过程中,用户只需要在界面上随意输入移动操作即可实现大量界面元素的选定,大大地简化了操作,提高了对界面元素进行选定的速度。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种实现界面元素选定的方法,包括如下步骤:
获取界面中的移动操作,并记录所述移动操作对应的移动轨迹;
判断所述移动轨迹所确定的区域是否为闭合区域,在界面中所形成的闭合区域包括多个,多个闭合区域是用户进行多次移动操作所得到的,判断所述移动轨迹所确定的区域是否为闭合区域的步骤为:在组成移动轨迹的线段中设置任意一条线段为起始线段,并以所述起始线段中的任一端点作为所述起始线段的终点,所述移动操作所对应的移动轨迹是由若干条线段组成的,在所述移动轨迹的线段中以所述终点为起始,判断未与所述终点相交的线段是否与所述起始线段相交,所述未与终点相交的线段是移动轨迹的线段中除了起始线段以及通过终点与起始线段相连的相邻线段之外的其它线段,判断到未与所述终点相交的线段与所述起始线段不相交时,根据所述起始线段的起始方向得到所述未与所述终点相交的线段对应的终点,并计算所述得到的终点与所述起始线段的起点之间的距离,判断所述距离是否小于阈值,若是,则通过所述得到的终点和所述起始线段的起点之间的连线得到所述移动轨迹所确定的闭合区域,未与终点相交的线段所对应的终点和起始线段的起点之间的连线包括未与终点相交的线段所在的延长线和起始线段所在的延长线相连结得到的线段;
若是,则将闭合区域内的界面元素选中。
2.根据权利要求1所述的实现界面元素选定的方法,其特征在于,所述将闭合区域内的界面元素选中的步骤为:
逐一以界面元素为起点进行延伸得到所述界面元素的射线;
获取所述射线与组成移动轨迹的线段之间的交点总数,并判断所述交点总数是否为奇数,若是,则
将所述射线对应的界面元素选中。
3.根据权利要求2所述的实现界面元素选定的方法,其特征在于,所述获取所述射线与组成移动轨迹的线段之间的交点总数的步骤之前还包括:
判断所述组成移动轨迹的线段是否与射线平行,若是,则忽略与所述射线平行的线段,若否,则进入所述获取所述射线与组成移动轨迹的线段之间的交点总数的步骤。
4.根据权利要求2所述的实现界面元素选定的方法,其特征在于,所述获取所述射线与组成移动轨迹的线段之间的交点总数的步骤之前还包括:
判断所述界面元素所在区域是否与所述组成移动轨迹的线段有交集,若是,则进入所述将所述射线对应的界面元素选中的步骤,若否,则进入所述获取所述射线与组成移动轨迹的线段之间的交点总数的步骤。
5.根据权利要求2所述的实现界面元素选定的方法,其特征在于,所述获取所述射线与组成移动轨迹的线段之间的交点总数的步骤之前还包括:
判断所述射线是否穿过线段的端点,若是,则忽略所述端点所在的任一线段。
6.根据权利要求1-5任一项所述的实现界面元素选定的方法,其特征在于,在将所述得到的界面元素选中后,将被选中的界面元素标记为选中状态。
7.一种实现界面元素选定的装置,其特征在于,包括:
移动处理模块,用于获取界面中的移动操作,并记录所述移动操作对应的轨迹;
有效性判定模块,用于判断所述移动轨迹所确定的区域是否为闭合区域,若是,则通知闭合区域处理模块,在界面中所形成的闭合区域包括多个,多个闭合区域是用户进行多次移动操作所得到的;
所述闭合区域处理模块用于将闭合区域内的界面元素标记选中;
所述有效性判定模块包括:
设置单元,用于在组成移动轨迹的线段中设置任意一条线段为起始线段,并以所述起始线段中的任一端点作为所述起始线段的终点,所述移动操作所对应的移动轨迹是由若干条线段组成的;
相交判断单元,用于在所述移动轨迹的线段中以所述终点为起始,判断未与所述终点相交的线段是否与所述起始线段相交,所述未与终点相交的线段是移动轨迹的线段中除了起始线段以及通过终点与起始线段相连的相邻线段之外的其它线段,若是,则通知所述闭合区域处理模块;
距离计算单元,用于判断到未与所述终点相交的线段与所述起始线段不相交时,根据所述起始线段的起始方向得到所述未与所述终点相交的线段对应的终点,并计算所述得到的终点与所述起始线段的起点之间的距离;
距离判断单元,用于判断所述距离是否小于阈值,若是,则通过所述得到的终点和所述起始线段的起点之间的连线得到所述移动轨迹所确定的闭合区域,未与终点相交的线段所对应的终点和起始线段的起点之间的连线包括未与终点相交的线段所在的延长线和起始线段所在的延长线相连结得到的线段。
8.根据权利要求7所述的实现界面元素选定的装置,其特征在于,所述闭合区域处理模块包括:
延伸单元,用于逐一以界面元素为起点进行延伸得到所述界面元素的射线;
交点判断单元,用于获取所述射线与组成移动轨迹的线段之间的交点总数,并判断所述交点总数是否为奇数,若是,则通知标记单元;
所述标记单元用于将所述射线对应的界面元素选中。
9.根据权利要求8所述的实现界面元素选定的装置,其特征在于,所述闭合区域处理模块还包括:
平行判断单元,用于判断所述组成移动轨迹的线段是否与射线平行,若是,则忽略与所述射线平行的线段,若否,则通知所述交点判断单元。
10.根据权利要求8所述的实现界面元素选定的装置,其特征在于,所述闭合区域处理模块还包括:
位置判断单元,用于判断所述界面元素所在区域是否与所述组成移动轨迹的线段有交集,若是,则通知所述标记单元,若否,则通知所述交点判断单元。
11.根据权利要求8所述的实现界面元素选定的装置,其特征在于,所述闭合区域处理模块还包括:
端点判断单元,用于判断所述射线是否穿过线段的端点,若是,则忽略所述端点所在的任一线段。
12.根据权利要求7-11任一项所述的实现界面元素选定的装置,其特征在于,所述闭合区域处理模块还用于在将所述得到的界面元素选中后,将被选中的界面元素标记为选中状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210457676.4A CN103809954B (zh) | 2012-11-14 | 2012-11-14 | 实现界面元素选定的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210457676.4A CN103809954B (zh) | 2012-11-14 | 2012-11-14 | 实现界面元素选定的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103809954A CN103809954A (zh) | 2014-05-21 |
CN103809954B true CN103809954B (zh) | 2017-03-22 |
Family
ID=50706790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210457676.4A Active CN103809954B (zh) | 2012-11-14 | 2012-11-14 | 实现界面元素选定的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103809954B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133595A (zh) * | 2014-06-06 | 2014-11-05 | 蓝信工场(北京)科技有限公司 | 一种在电子设备的触摸屏上选中多个对象的方法和装置 |
CN105989344B (zh) * | 2015-02-26 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 条码识别方法及装置 |
CN106775210B (zh) * | 2016-11-29 | 2020-09-04 | 北京小米移动软件有限公司 | 壁纸更换的方法和装置 |
WO2020164125A1 (zh) * | 2019-02-15 | 2020-08-20 | 西门子(中国)有限公司 | 图形化编程方法、***、装置、介质、处理器和终端 |
CN110751706B (zh) * | 2019-10-29 | 2024-03-22 | 网易(杭州)网络有限公司 | 游戏中的图形处理方法、装置、设备及存储介质 |
CN113010067A (zh) * | 2020-12-25 | 2021-06-22 | 北京小米移动软件有限公司 | 图形处理方法及装置、电子设备、存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8643605B2 (en) * | 2005-11-21 | 2014-02-04 | Core Wireless Licensing S.A.R.L | Gesture based document editor |
JP4605279B2 (ja) * | 2008-09-12 | 2011-01-05 | ソニー株式会社 | 情報処理装置、情報処理方法、及びプログラム |
CN102656869B (zh) * | 2009-12-22 | 2015-11-25 | 摩托罗拉*** | 用于在电子设备中执行功能的方法和装置 |
CN102760029B (zh) * | 2011-04-29 | 2016-04-20 | 汉王科技股份有限公司 | 在显示界面上操作列表的方法和装置 |
-
2012
- 2012-11-14 CN CN201210457676.4A patent/CN103809954B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103809954A (zh) | 2014-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103809954B (zh) | 实现界面元素选定的方法和装置 | |
US9218683B2 (en) | Collection rearrangement animation | |
EP2635954B1 (en) | Notification group touch gesture dismissal techniques | |
CN106201166A (zh) | 一种分屏显示方法及终端 | |
CN104166553B (zh) | 一种显示方法及电子设备 | |
CN101887344B (zh) | 信息处理设备和信息处理方法 | |
CN104754140B (zh) | 一种界面显示的方法及装置 | |
DE212015000213U1 (de) | Multidimensionale Objektneuordnung | |
CN104714737A (zh) | 使用输入手势切换界面模式的方法和装置 | |
CN103677491B (zh) | 一种用于渲染网页的方法和装置 | |
CN107608668A (zh) | H5页面制作兼容显示的方法、装置、终端设备及存储介质 | |
CN106527915A (zh) | 一种信息处理方法及电子设备 | |
CN107704157A (zh) | 一种多屏界面操作方法、装置及存储介质 | |
CN108596955A (zh) | 一种图像检测方法、图像检测装置及移动终端 | |
CN107219983A (zh) | 列表显示方法及装置 | |
CN106791422A (zh) | 一种图像处理方法及移动终端 | |
CN107870795A (zh) | 一种电子地图显示的方法及装置 | |
CN105094669A (zh) | 浏览器多标签页的切换方法及装置 | |
CN108509241A (zh) | 一种图像的全屏显示方法、全屏显示装置及移动终端 | |
CN110688190A (zh) | 智能交互平板的控制方法和装置 | |
CN104239606B (zh) | Web环境下支持触屏的UML建模方法与装置 | |
CN104238879B (zh) | 应用程序窗口的移动方法和装置 | |
CN103645937B (zh) | 一种数据处理的方法及电子设备 | |
CN104254875A (zh) | 信息处理装置、信息处理方法及信息处理计算机程序产品 | |
CN103246500B (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 |