實(shí)現(xiàn)界面元素選定的方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種實(shí)現(xiàn)界面元素選定的方法和裝置。所述方法包括:獲取界面中的移動(dòng)操作,并記錄所述移動(dòng)操作對(duì)應(yīng)的移動(dòng)軌跡;判斷所述移動(dòng)軌跡所確定的區(qū)域是否為閉合區(qū)域,若是,則將閉合區(qū)域內(nèi)的界面元素選中。所述系統(tǒng)包括:移動(dòng)處理模塊,用于獲取界面中的移動(dòng)操作,并記錄所述移動(dòng)操作對(duì)應(yīng)的軌跡;有效性判定模塊,用于判斷所述移動(dòng)軌跡所確定的區(qū)域是否為閉合區(qū)域,若是,則通知閉合區(qū)域處理模塊;所述閉合區(qū)域處理模塊用于將閉合區(qū)域內(nèi)的界面元素選中。采用本發(fā)明簡(jiǎn)化了操作。
【專利說明】實(shí)現(xiàn)界面元素選定的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)交互技術(shù),特別是涉及一種實(shí)現(xiàn)界面元素選定的方法和裝置。【背景技術(shù)】
[0002]終端設(shè)備向用戶展示的交互界面通常設(shè)置了若干個(gè)界面元素,該界面元素一般為多選框或圖標(biāo)的形式,用戶通過對(duì)界面元素點(diǎn)擊或者長(zhǎng)按操作來實(shí)現(xiàn)界面元素的選定,使得相應(yīng)的界面元素處于選中狀態(tài)。
[0003]例如,在界面元素為多選框的交互界面中,用戶通過單擊多選框中的內(nèi)容來實(shí)現(xiàn)界面元素的選定。但是,這一界面元素的選定方式只適用于可選項(xiàng)較少的情況,若需要選擇大量界面元素,用戶不得不一個(gè)一個(gè)點(diǎn)擊多選框,當(dāng)有幾十甚至上百個(gè)多選框需要進(jìn)行選定時(shí),所需要輸入的單擊操作數(shù)量將是非常龐大的,操作非常繁瑣。
【發(fā)明內(nèi)容】
[0004]基于此,有必要針對(duì)大量界面元素進(jìn)行選定操作非常繁瑣的問題,提供一種能簡(jiǎn)化操作的實(shí)現(xiàn)界面元素選定的方法。
[0005]此外,還有必要提供一種能簡(jiǎn)化操作的實(shí)現(xiàn)界面元素選定的裝置。
[0006]一種實(shí)現(xiàn)界面元素選定的方法,包括如下步驟:
[0007]獲取界面中的移動(dòng)操作,并記錄所述移動(dòng)操作對(duì)應(yīng)的移動(dòng)軌跡;
[0008]判斷所述移動(dòng)軌跡所確定的區(qū)域是否為閉合區(qū)域,若是,則
[0009]將閉合區(qū)域內(nèi)的界面元素選中。
[0010]一種實(shí)現(xiàn)界面元素選定的裝置,其特征在于,包括:
[0011]移動(dòng)處理模塊,用于獲取界面中的移動(dòng)操作,并記錄所述移動(dòng)操作對(duì)應(yīng)的軌跡;
[0012]有效性判定模塊,用于判斷所述移動(dòng)軌跡所確定的區(qū)域是否為閉合區(qū)域,若是,則通知閉合區(qū)域處理模塊;
[0013]所述閉合區(qū)域處理模塊用于將閉合區(qū)域內(nèi)的界面元素選中。
[0014]上述實(shí)現(xiàn)界面元素選定的方法和裝置,獲取用戶在界面中輸入的移動(dòng)操作,根據(jù)移動(dòng)操作所確定的閉合區(qū)域得于位于閉合區(qū)域中的界面元素,將這些界面元素選中,在這一界面元素的選定過程中,用戶只需要在界面上隨意輸入移動(dòng)操作即可實(shí)現(xiàn)大量界面元素的選定,大大地簡(jiǎn)化了操作,提高了對(duì)界面元素進(jìn)行選定的速度。
【專利附圖】
【附圖說明】
[0015]圖1為一個(gè)實(shí)施例中實(shí)現(xiàn)界面元素選定的方法的流程圖;
[0016]圖2為一個(gè)實(shí)施例中獲取界面中的移動(dòng)操作,并記錄移動(dòng)操作對(duì)應(yīng)的移動(dòng)軌跡的方法流程圖;
[0017]圖3為另一個(gè)實(shí)施例中獲取界面中的移動(dòng)操作,并記錄移動(dòng)操作對(duì)應(yīng)的移動(dòng)軌跡的方法流程圖;[0018]圖4為一個(gè)實(shí)施例中將閉合區(qū)域內(nèi)的界面元素選中;
[0019]圖5為另一個(gè)實(shí)施例中將閉合區(qū)域內(nèi)的界面元素選中;
[0020]圖6為一個(gè)實(shí)施例中實(shí)現(xiàn)界面元素選定的應(yīng)用示意圖;
[0021]圖7為另一個(gè)實(shí)施例中實(shí)現(xiàn)界面元素選定的應(yīng)用示意圖;
[0022]圖8為一個(gè)實(shí)施例中實(shí)現(xiàn)界面元素選定的裝置的結(jié)構(gòu)示意圖;
[0023]圖9為一個(gè)實(shí)施例中有效性判定模塊的結(jié)構(gòu)示意圖;
[0024]圖10為另一個(gè)實(shí)施例中有效性判定模塊的結(jié)構(gòu)示意圖;
[0025]圖11為一個(gè)實(shí)施例中閉合區(qū)域處理模塊的結(jié)構(gòu)示意圖;
[0026]圖12為另一個(gè)實(shí)施例中閉合區(qū)域處理模塊的結(jié)構(gòu)示意圖;
[0027]圖13為另一個(gè)實(shí)施例中閉合區(qū)域處理模塊的結(jié)構(gòu)示意圖;
[0028]圖14為另一個(gè)實(shí)施例中閉合區(qū)域處理模塊的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0029]如圖1所示,在一個(gè)實(shí)施例中,一種實(shí)現(xiàn)界面元素選定的方法,包括如下步驟:
[0030]步驟S110,獲取界面中的移動(dòng)操作,并記錄移動(dòng)操作對(duì)應(yīng)的移動(dòng)軌跡。
[0031]本實(shí)施例中,界面為終端設(shè)備向用戶提供的操作界面,其中,界面上包括了若干個(gè)界面元素,該界面元素為操作界面上的圖形元素。界面中的移動(dòng)操作是用戶通過觸摸屏、鼠標(biāo)或者觸摸板等輸入設(shè)備輸入的,由用戶在界面中的按下、移動(dòng)和抬起這一系列動(dòng)作形成。例如,移動(dòng)操作為用戶在界面中隨意畫下一個(gè)線條。
[0032]在界面中觸發(fā)了移動(dòng)操作之后,將記錄用戶移動(dòng)操作的軌跡得到移動(dòng)軌跡,并通過坐標(biāo)的形式記錄。具體的,界面所在的坐標(biāo)系中,隨著界面中觸發(fā)的移動(dòng)操作以坐標(biāo)的形式進(jìn)行記錄,多個(gè)記錄的坐標(biāo)形成了移動(dòng)操作對(duì)應(yīng)的移動(dòng)軌跡。例如,記錄的坐標(biāo)為界面所
在的坐標(biāo)系中X和y軸的坐標(biāo),η表示第η個(gè)點(diǎn),(xl, yl),......, (xn, yn)組成了移動(dòng)軌跡。
[0033]在記錄移動(dòng)操作的軌跡的過程中,還將在界面中顯示移動(dòng)操作所對(duì)應(yīng)的軌跡,以向用戶反饋輸入的移動(dòng)操作。
[0034]步驟S130,判斷移動(dòng)軌跡所確定的區(qū)域是否為閉合區(qū)域,若是,則進(jìn)入步驟S150,若否,則結(jié)束。
[0035]本實(shí)施例中,移動(dòng)軌跡可以是閉合的軌跡,也可以是半開放的軌跡,以方便用戶操作。閉合區(qū)域是以用戶的移動(dòng)軌跡為界線在界面中所確定的區(qū)域,是能夠通過移動(dòng)軌跡來確定其具體范圍的,在界面中所形成的閉合區(qū)域可以為一個(gè)或多個(gè),多個(gè)閉合區(qū)域是用戶進(jìn)行多次移動(dòng)操作所得到的。若判斷到移動(dòng)軌跡所確定的區(qū)域是閉合區(qū)域,則說明用戶通過移動(dòng)操作對(duì)界面元素的選定是有效的,若判斷到移動(dòng)軌跡確定的區(qū)域是開放的,則說明用戶的移動(dòng)操作是無效操作。
[0036]如圖2所示,在一個(gè)實(shí)施例中,上述步驟S130的具體過程為:
[0037]步驟S131,在組成移動(dòng)軌跡的線段中設(shè)置任意一條線段為起始線段,并以起始線段中的任一端點(diǎn)作為起始線段的終點(diǎn)。
[0038]本實(shí)施例中,移動(dòng)操作所對(duì)應(yīng)的移動(dòng)軌跡是由若干條線段組成的,在組成移動(dòng)軌跡的線段中以任意一條線段作為起始線段,并從起始線段的兩個(gè)端點(diǎn)中選取任一個(gè)端點(diǎn)作為起始線段的終點(diǎn),相應(yīng)的,起始線段上的另一端點(diǎn)則為起始線段的起始點(diǎn)。
[0039]步驟S133,在移動(dòng)軌跡的線段中以終點(diǎn)為起始,判斷未與終點(diǎn)相交的線段是否與起始線段相交,若是,則進(jìn)入步驟S150,若否,則結(jié)束。
[0040]本實(shí)施例中,在組成移動(dòng)軌跡的若干個(gè)線段中,以起始線段的終點(diǎn)為起始,判斷未與終點(diǎn)相交的線段是否與起始線段相交于起始點(diǎn)上,若是,則說明移動(dòng)軌跡所確定的區(qū)域是閉合區(qū)域,若否,則說明移動(dòng)軌跡所確定的區(qū)域是開放的。未與終點(diǎn)相交的線段是移動(dòng)軌跡的線段中除了起始線段以及通過終點(diǎn)與起始線段相連的相鄰線段之外的其它線段。這一未與終點(diǎn)相交卻與起始線段相交的線段是移動(dòng)軌跡中與起始線段相對(duì)應(yīng)的終止線段。
[0041]如圖3所示,在另一個(gè)實(shí)施例中,上述步驟S130還包括:
[0042]步驟S135,判斷到未與終點(diǎn)相交的線段與起始線段不相交時(shí),根據(jù)起始線段的起始方向得到未與終點(diǎn)相交的線段對(duì)應(yīng)的終點(diǎn),并計(jì)算得到的終點(diǎn)與起始線段的起點(diǎn)之間的距離。
[0043]本實(shí)施例中,起始方向?yàn)橐苿?dòng)軌跡中由起始線段的起始點(diǎn)至終點(diǎn)的方向,沿著起始方向可以得到未與終點(diǎn)相交的線段所對(duì)應(yīng)的終點(diǎn),進(jìn)而根據(jù)勾股定理計(jì)算得到未與終點(diǎn)相交的線段所對(duì)應(yīng)的終點(diǎn)和起始線段的起點(diǎn)之間的距離。
[0044]步驟S 136,判斷該距離是否小于閾值,若是,則進(jìn)入步驟S137,若否,則結(jié)束。
[0045]本實(shí)施例中,移動(dòng)軌跡可以是半開放的軌跡,若判斷到計(jì)算得到的距離是處于閾值范圍之內(nèi)的,則說明用戶的移動(dòng)操作是有效操作,移動(dòng)軌跡能夠確定閉合區(qū)域,若判斷到計(jì)算得到的距離是處于閾值范圍之外的,則說明移動(dòng)軌跡所對(duì)應(yīng)的曲線兩端的距離較遠(yuǎn),無法形成一個(gè)確定的閉合區(qū)域,因此,用戶所輸入的移動(dòng)操作是無效操作。
[0046]通過設(shè)定閾值對(duì)移動(dòng)軌跡中的起始線段和相應(yīng)的終止線段判定移動(dòng)軌跡是否近似閉合,進(jìn)而使得形成近似閉合的移動(dòng)軌跡的移動(dòng)操作也將被判定為有效操作,提高了用戶操作的易用性和便捷性,使得用戶不需要進(jìn)行精確操作即可實(shí)現(xiàn)界面元素的選定。
[0047]步驟S137,通過得到的終點(diǎn)和起始線段的起點(diǎn)之間的連線得到移動(dòng)軌跡所確定的閉合區(qū)域。
[0048]本實(shí)施例中,在半開放的移動(dòng)軌跡中,通過未與終點(diǎn)相交的線段所對(duì)應(yīng)的終點(diǎn)和起始線段的起點(diǎn)之間的連線可以確定閉合區(qū)域。其中,未與終點(diǎn)相交的線段所對(duì)應(yīng)的終點(diǎn)和起始線段的起點(diǎn)之間的連線可以是將未與終點(diǎn)相交的線段所在的的終點(diǎn)和起始線段的起點(diǎn)直接相連所得到的線段,也可以是未與終點(diǎn)相交的線段所在的延長(zhǎng)線和起始線段所在的延長(zhǎng)線相連結(jié)得到的線段。
[0049]步驟S150,將閉合區(qū)域內(nèi)的界面元素選中。
[0050]本實(shí)施例中,在界面中被判定為閉合區(qū)域的區(qū)域進(jìn)行查找得到位于閉合區(qū)域中的界面元素,查找得到的界面元素為一個(gè)或者多個(gè),將由未選中的界面元素變換為選中的界面元素。
[0051]如圖4所示,在一個(gè)實(shí)施例中,上述步驟S150的具體過程為:
[0052]步驟S151,逐一以界面元素為起點(diǎn)進(jìn)行延伸得到界面元素的射線。
[0053]本實(shí)施例中,界面中包含了若干個(gè)界面元素,在對(duì)界面中的每一界面元素進(jìn)行位置判定,以獲知該界面元素是否位于閉合區(qū)域中時(shí),將逐一以界面元素為起點(diǎn)向一定方向延伸以得到相應(yīng)的射線。在優(yōu)選的實(shí)施例中,該延伸方向?yàn)榻缑嫠谧鴺?biāo)系中X軸的負(fù)方向。
[0054]步驟S153,獲取該射線與組成移動(dòng)軌跡的線段之間的交點(diǎn)總數(shù),并判斷交點(diǎn)總數(shù)是否為奇數(shù),若是,則進(jìn)入步驟S155,若否,則結(jié)束。
[0055]本實(shí)施例中,若界面元素位于移動(dòng)軌跡所確定的閉合區(qū)域中,則該界面元素所對(duì)應(yīng)的射線與移動(dòng)軌跡的線段所形成的交點(diǎn)數(shù)量必然是奇數(shù)的,若界面元素位于移動(dòng)軌跡所確定的閉合區(qū)域之外,則該界面元素所對(duì)應(yīng)的射線與移動(dòng)軌跡的線段所形成的交點(diǎn)數(shù)量必然是偶數(shù)的。
[0056]相應(yīng)的,在獲取到界面元素的射線與組成移動(dòng)軌跡的線段之間的交點(diǎn)總數(shù)之后,若判斷到交點(diǎn)總數(shù)是奇數(shù)的,則說明界面元素是處于移動(dòng)軌跡所確定的閉合區(qū)域中的,是用戶選定的界面元素,因此,將其標(biāo)記為選中狀態(tài)。若判斷到交點(diǎn)總數(shù)是偶數(shù)的,則說明該界面元素是處于移動(dòng)軌跡所確定的閉合區(qū)域之外的,因此該界面元素并不是用戶選定的界面元素,不需要對(duì)其做任何處理。
[0057]步驟S155,將射線對(duì)應(yīng)的界面元素選中。
[0058]本實(shí)施例中,在判斷到射線與組成移動(dòng)軌跡的線段之間的交點(diǎn)數(shù)量為奇數(shù),則說明這一界面元素是位于界面中的閉合區(qū)域,將界面元素由未選中變換為選中。
[0059]在另一個(gè)實(shí)施例中,上述實(shí)現(xiàn)界面元素選定的方法還包括:在將得到的界面元素選中后,將被選中的界面元素標(biāo)記為選中狀態(tài)的步驟。
[0060]本實(shí)施例中,對(duì)選中的界面元素進(jìn)行標(biāo)記,以便于接收并響應(yīng)用戶輸入的進(jìn)一步操作。
[0061]如圖5所示,在另一個(gè)實(shí)施例中,上述步驟S153之前還包括:
[0062]步驟S201,判斷組成移動(dòng)軌跡的線段是否與射線平行,若是,則進(jìn)入步驟S203,若否,則進(jìn)入步驟S153。
[0063]本實(shí)施例中,在通過界面元素的射線與組成移動(dòng)軌跡的線段數(shù)量判定該界面元素是否為用戶選定的界面元素時(shí),還存在著一些特定的場(chǎng)景,因此,優(yōu)先考慮存在的特定場(chǎng)景能夠快速判定界面元素是否為用戶選定的界面元素或去除干擾因素,進(jìn)而提高處理效率和準(zhǔn)確性。
[0064]具體的,特定場(chǎng)景為界面元素對(duì)應(yīng)的射線與組成移動(dòng)軌跡的線段處于平行的狀態(tài),此時(shí),若該射線以及與該射線相互平行的線段之間是重疊的,則該射線以及與該射線相互平行的線段之間的交點(diǎn)數(shù)量將會(huì)是無數(shù)個(gè);若該射線以及與該射線相互平等的線段之間是不重疊的,則沒有交點(diǎn),因此,在這一特定場(chǎng)景下將無法對(duì)交點(diǎn)數(shù)量確定具體的數(shù)值,因此,必須忽略與該射線平行的線段,為計(jì)算這與該射線平行的線段和射線之間的交點(diǎn)數(shù)量,以保證界面元素選定的準(zhǔn)確性。
[0065]步驟S203,忽略與該射線平行的線段。
[0066]在另一個(gè)實(shí)施例中,上述步驟S153之前還包括:
[0067]判斷界面元素所在區(qū)域是否與組成移動(dòng)軌跡的線段有交集,若是,則進(jìn)入步驟S155,若否,則進(jìn)入步驟S153。
[0068]本實(shí)施例中,特定場(chǎng)景為界面元素位于移動(dòng)軌跡上。若某一界面元素位于組成移動(dòng)軌跡的某一線段之上,則直接判定該界面元素是處于移動(dòng)軌跡所確定的閉合區(qū)域之內(nèi)的,此時(shí)該界面元素即為用戶選定的界面元素。[0069]若界面元素并沒有位于組成移動(dòng)軌跡的某一線段之上,則需要獲取該界面元素對(duì)應(yīng)的射線與組成移動(dòng)軌跡的線段之間的交點(diǎn)總數(shù),進(jìn)而繼續(xù)判斷該界面元素是否位于移動(dòng)軌跡所確定的閉合區(qū)域中。
[0070]具體的,可以通過判斷公式(yl-yO)* (x2-x0)- (y2_y0)* (xl_x0)==0是否成立來判定界面元素是否位于移動(dòng)軌跡上,在判斷到上述公式時(shí)成立的則進(jìn)一步判斷χΟ和y0是否均位于xl和x2以及yl和y2之間,若是,則判定界面元素所在區(qū)域與組成移動(dòng)軌跡的某一線段有交集,其中,(xi,yl)和(x2,y2)分別為組成移動(dòng)軌跡的線段中端點(diǎn)Pl和端點(diǎn)P2的坐標(biāo),(x0,y0)界面元素P的坐標(biāo),界面元素的坐標(biāo)可以設(shè)定為界面元素的中心位置所對(duì)應(yīng)的坐標(biāo)。
[0071]在另一個(gè)實(shí)施例中,上述步驟S153之前還包括:
[0072]判斷該射線是否穿過線段的端點(diǎn),若是,則忽略端點(diǎn)所在的任一線段,若否,則進(jìn)入步驟S153。
[0073]本實(shí)施例中,特定場(chǎng)景為射線穿過線段的某一個(gè)端的情況。具體的,在相互連接的兩條線段之間是通過端點(diǎn)連接的,因此界面元素的射線穿過線段端點(diǎn)時(shí),該射線將與兩條線段存在交點(diǎn),但是實(shí)際上對(duì)于整個(gè)移動(dòng)軌跡而言是只有一個(gè)交點(diǎn)的,因此,應(yīng)當(dāng)忽略其中一條線段,以保證交點(diǎn)數(shù)量的準(zhǔn)確性。
[0074]下面結(jié)合一個(gè)具體的實(shí)施例來詳細(xì)闡述上述實(shí)現(xiàn)界面元素選定的方法。該實(shí)施例中,如圖6所示,界面元素中設(shè)置了界面元素A至界面元素I等九個(gè)界面元素,通過用戶對(duì)任一界面元素的選定來觸發(fā)相應(yīng)的功能。通過用戶在界面中的移動(dòng)操作形成了界面中顯示的曲線601,該曲線601即為記錄的移動(dòng)軌跡。在得到曲線601后判斷得到該曲線601所確定的區(qū)域是一個(gè)閉合區(qū)域,此時(shí),將查找得到界面元素A、界面元素B和界面元素C位于閉合區(qū)域中,因此,這三個(gè)界面元素即為用戶所選定的界面元素,將界面元素A、界面元素B和界面元素C標(biāo)記為選中狀態(tài)。
[0075]另外,還可以通過用戶的多次移動(dòng)操作來實(shí)現(xiàn)界面元素的選定。具體的,如圖7所示,用戶除了首次移動(dòng)操作所得到的曲線601之外,還輸入了兩次移動(dòng)操作得到曲線701和曲線703,進(jìn)而確定多個(gè)閉合區(qū)域,此時(shí)仍然按照上述方法查找得到位于閉合區(qū)域中的界面元素A、界面元素B、界面元素C、界面元素D以及界面元素E,進(jìn)而將查找得到的界面元素標(biāo)記為選中狀態(tài)。
[0076]上述實(shí)現(xiàn)界面元素選定的方法中,在界面元素為圖標(biāo)的界面中,與用戶通過鍵盤中的按鍵和單擊操作的結(jié)合實(shí)現(xiàn)圖標(biāo)的選定或者通過按下鼠標(biāo)并拖動(dòng)來實(shí)現(xiàn)圖標(biāo)的選定這兩種傳統(tǒng)方式相比較,通過移動(dòng)操作來實(shí)現(xiàn)界面元素的選定更易于應(yīng)用在以觸摸屏為輸入設(shè)備的終端設(shè)備中,不需要外接鍵盤或者鼠標(biāo)即可便捷地進(jìn)行界面元素選定。
[0077]此外,對(duì)于通過鍵盤或鼠標(biāo)對(duì)界面元素一一進(jìn)行選定的過程中,往往會(huì)發(fā)生由于某一個(gè)誤操作而使得多個(gè)元素的選定被放棄的情況,而通過移動(dòng)操作所實(shí)現(xiàn)的界面元素選定將有效地避免了這一情況的發(fā)生。
[0078]如圖8所示,在一個(gè)實(shí)施例中,一種實(shí)現(xiàn)界面元素選定的裝置,包括移動(dòng)處理模塊110、有效性判定模塊130以及閉合區(qū)域處理模塊150。
[0079]移動(dòng)處理模塊110,用于獲取界面中的移動(dòng)操作,并記錄移動(dòng)操作對(duì)應(yīng)的軌跡。
[0080]本實(shí)施例中,界面為終端設(shè)備向用戶提供的操作界面,其中,界面上包括了若干個(gè)界面元素,該界面元素為操作界面上的圖形元素。界面中的移動(dòng)操作是用戶通過觸摸屏、鼠標(biāo)或者觸摸板等輸入設(shè)備輸入的,由用戶在界面中的按下、移動(dòng)和抬起這一系列動(dòng)作形成。例如,移動(dòng)操作為用戶在界面中隨意畫下一個(gè)線條。
[0081]在界面中觸發(fā)了移動(dòng)操作之后,移動(dòng)處理模塊110將記錄用戶移動(dòng)操作的軌跡得到移動(dòng)軌跡,并通過坐標(biāo)的形式記錄。具體的,界面所在的坐標(biāo)系中,移動(dòng)處理模塊110隨著界面中觸發(fā)的移動(dòng)操作以坐標(biāo)的形式進(jìn)行記錄,多個(gè)記錄的坐標(biāo)形成了移動(dòng)操作對(duì)應(yīng)的移動(dòng)軌跡。例如,記錄的坐標(biāo)為界面所在的坐標(biāo)系中X和y軸的坐標(biāo),η表示第η個(gè)點(diǎn),(xl,yl),......,(xn, yn)組成了移動(dòng)軌跡。
[0082]在記錄移動(dòng)操作的軌跡的過程中,移動(dòng)處理模塊110還將在界面中顯示移動(dòng)操作所對(duì)應(yīng)的軌跡,以向用戶反饋輸入的移動(dòng)操作。
[0083]有效性判定模塊130,用于判斷移動(dòng)軌跡所確定的區(qū)域是否為閉合區(qū)域,若是,則通知閉合區(qū)域處理模塊150,若否,則停止執(zhí)行。
[0084]本實(shí)施例中,移動(dòng)軌跡可以是閉合的軌跡,也可以是半開放的軌跡,以方便用戶操作。閉合區(qū)域是以用戶的移動(dòng)軌跡為界線在界面中所確定的區(qū)域,是能夠通過移動(dòng)軌跡來確定其具體范圍的,在界面中所形成的閉合區(qū)域可以為一個(gè)或多個(gè),多個(gè)閉合區(qū)域是用戶進(jìn)行多次移動(dòng)操作所得到的。若有效性判定模塊130判斷到移動(dòng)軌跡確定的區(qū)域是閉合區(qū)域,則說明用戶通過移動(dòng)操作對(duì)界面元素的選定是有效的,若判斷到移動(dòng)軌跡確定的區(qū)域是開放的,則說明用戶的移動(dòng)操作是無效操作。
[0085]如圖9所示,在一個(gè)實(shí)施例中,上述有效性判定模塊130包括設(shè)置單元131以及相交判斷單元133。
[0086]設(shè)置單元131,用于在組成移動(dòng)軌跡的線段中設(shè)備任意一條線段為起始線段,并以起始線段中的任一端點(diǎn)作為起始線段的終點(diǎn)。
[0087]本實(shí)施例中,移動(dòng)操作所對(duì)應(yīng)的移動(dòng)軌跡是由若干條線段組成的,在組成移動(dòng)軌跡的線段中以任意一條線段作為起始線段,并從起始線段的兩個(gè)端點(diǎn)中選取任一個(gè)端點(diǎn)作為起始線段的終點(diǎn),相應(yīng)的,起始線段上的另一端點(diǎn)則為起始線段的起始點(diǎn)。
[0088]相交判斷單元133,用于在移動(dòng)軌跡的線段中以終點(diǎn)為起始,判斷未與終點(diǎn)相交的線段是否與起始線段相交,若是,則通知閉合處理模塊150,若否,則停止執(zhí)行。
[0089]本實(shí)施例中,在組成移動(dòng)軌跡的若干個(gè)線段中,以起始線段的終點(diǎn)為起始,相交判斷單元133判斷未與終點(diǎn)相交的線段是否與起始線段相交于起始點(diǎn)上,若是,則說明移動(dòng)軌跡所確定的區(qū)域是閉合區(qū)域,若否,則說明移動(dòng)軌跡所確定的區(qū)域是開放的。未與終點(diǎn)相交的線段是移動(dòng)軌跡的線段中除了起始線段以及通過終點(diǎn)與起始線段相連的相鄰線段之外的其它線段。這一未與終點(diǎn)相交卻與起始線段相交的線段是移動(dòng)軌跡中與起始線段相對(duì)應(yīng)的終止線段。
[0090]如圖10所示,在另一個(gè)實(shí)施例中,上述有效性判定模塊130還包括距離計(jì)算單元135以及距離判斷單元137。
[0091]距離計(jì)算單元135,用于判斷到未與終點(diǎn)相交的線段與起始線段不相交時(shí),根據(jù)起始線段的起始方向得到未與終點(diǎn)相交的線段對(duì)應(yīng)的終點(diǎn),并計(jì)算得到的終點(diǎn)與起始線段的起點(diǎn)之間的起始距離。
[0092]本實(shí)施例中,起始方向?yàn)橐苿?dòng)軌跡中由起始線段的起始點(diǎn)至終點(diǎn)的方向,距離計(jì)算單元135沿著起始方向可以得到未與終點(diǎn)相交的線段所對(duì)應(yīng)的終點(diǎn),進(jìn)而根據(jù)勾股定理計(jì)算得到未與終點(diǎn)相交的線段所對(duì)應(yīng)的終點(diǎn)和起始線段的起點(diǎn)之間的距離。
[0093]距離判斷單元137,用于判斷距離是否小于閾值,若是,則通過得到的終點(diǎn)和起始線段的起點(diǎn)之間的連線得到移動(dòng)軌跡所確定的閉合區(qū)域,若否,則結(jié)束。
[0094]本實(shí)施例中,移動(dòng)軌跡可以是半開放的軌跡,距離判斷單元137若判斷到計(jì)算得到的距離是處于閾值范圍之內(nèi)的,則說明用戶的移動(dòng)操作是有效操作,移動(dòng)軌跡所能夠確定的區(qū)域?yàn)殚]合區(qū)域,若判斷到計(jì)算得到的距離是處于閾值范圍之外的,則說明移動(dòng)軌跡所對(duì)應(yīng)的曲線兩端的距離較遠(yuǎn),無法形成一個(gè)確定的閉合區(qū)域,因此,用戶所輸入的移動(dòng)操作是無效操作。
[0095]距離判斷單元137通過設(shè)定閾值對(duì)移動(dòng)軌跡中的起始線段和相應(yīng)的終止線段判定移動(dòng)軌跡是否近似閉合,進(jìn)而使得形成近似閉合的移動(dòng)軌跡的移動(dòng)操作也將被判定為有效操作,提高了用戶操作的易用性和便捷性,使得用戶不需要進(jìn)行精確操作即可實(shí)現(xiàn)界面元素的選定。
[0096]在半開放的移動(dòng)軌跡中,通過未與終點(diǎn)相交的線段所對(duì)應(yīng)的終點(diǎn)和起始線段的起點(diǎn)之間的連線可以確定閉合區(qū)域。其中,未與終點(diǎn)相交的線段所對(duì)應(yīng)的終點(diǎn)和起始線段的起點(diǎn)之間的連線可以是將未與終點(diǎn)相交的線段所在的的終點(diǎn)和起始線段的起點(diǎn)直接相連所得到的線段,也可以是未與終點(diǎn)相交的線段所在的延長(zhǎng)線和起始線段所在的延長(zhǎng)線相連結(jié)得到的線段。
[0097]閉合區(qū)域處理模塊150,用于將閉合區(qū)域內(nèi)的界面元素選中。
[0098]本實(shí)施例中,閉合區(qū)域處理模塊150在界面中被判定為閉合區(qū)域的區(qū)域進(jìn)行查找得到位于閉合區(qū)域中的界面元素,查找得到的界面元素為一個(gè)或者多個(gè),將由未選中的界面元素變換為選中的界面元素。
[0099]如圖11所示,在一個(gè)實(shí)施例中,上述閉合區(qū)域處理模塊150包括延伸單元151、交點(diǎn)判斷單元153以及標(biāo)記單元155。
[0100]延伸單元151,用于逐一以界面元素為起點(diǎn)進(jìn)行延伸得到界面元素的射線。
[0101]本實(shí)施例中,界面中包含了若干個(gè)界面元素,在對(duì)界面中的每一界面元素進(jìn)行位置判定,以獲知該界面元素是否位于閉合區(qū)域中時(shí),延伸單元151將逐一以界面元素為起點(diǎn)向一定方向延伸以得到相應(yīng)的射線。在優(yōu)選的實(shí)施例中,該延伸方向?yàn)榻缑嫠谧鴺?biāo)系中X軸的負(fù)方向。
[0102]交點(diǎn)判斷單元153,用于獲取射線與組成移動(dòng)軌跡的線段之間的交點(diǎn)總數(shù),并判斷交點(diǎn)總數(shù)是否為奇數(shù),若是,則通知標(biāo)記單元155,若否,則停止執(zhí)行。
[0103]本實(shí)施例中,若界面元素位于移動(dòng)軌跡所確定的閉合區(qū)域中,則該界面元素所對(duì)應(yīng)的射線與移動(dòng)軌跡的線段所形成的交點(diǎn)數(shù)量必然是奇數(shù)的,若界面元素位于移動(dòng)軌跡所確定的閉合區(qū)域之外,則該界面元素所對(duì)應(yīng)的射線與移動(dòng)軌跡的線段所形成的交點(diǎn)數(shù)量必然是偶數(shù)的。
[0104]相應(yīng)的,交點(diǎn)判斷單元153在獲取到界面元素的射線與組成移動(dòng)軌跡的線段之間的交點(diǎn)總數(shù)之后,若判斷到交點(diǎn)總數(shù)是奇數(shù)的,則說明界面元素是處于移動(dòng)軌跡所確定的閉合區(qū)域中的,是用戶選定的界面元素,因此,通知標(biāo)記單元155將其標(biāo)記為選中狀態(tài)。若判斷到交點(diǎn)總數(shù)是偶數(shù)的,則說明該界面元素是處于移動(dòng)軌跡所確定的閉合區(qū)域之外的,因此該界面元素并不是用戶選定的界面元素,不需要對(duì)其做任何處理。
[0105]標(biāo)記單元155,用于將射線對(duì)應(yīng)的界面元素選中。
[0106]本實(shí)施例中,在判斷到射線與組成移動(dòng)軌跡的線段之間的交點(diǎn)數(shù)量為奇數(shù),則說明這一界面元素是位于界面中的閉合區(qū)域,標(biāo)記單元155將界面元素由未選中變換為選中。
[0107]在另一個(gè)實(shí)施例中,上述閉合區(qū)域處理模塊150還用于在將得到的界面元素選中后,將被選中的界面元素標(biāo)記為選中狀態(tài)。
[0108]本實(shí)施例中,閉合區(qū)域處理模塊150對(duì)選中的界面元素進(jìn)行標(biāo)記,以便于接收并響應(yīng)用戶輸入的進(jìn)一步操作。
[0109]如圖12所示,在一個(gè)實(shí)施例中,上述閉合區(qū)域處理模塊150還包括平行判斷單元
156。
[0110]平行判斷單元156,用于判斷組成移動(dòng)軌跡的線段是否與射線平行,若是,則忽略與該射線平行的線段,否,則通知交點(diǎn)判斷單元153。
[0111]本實(shí)施例中,在通過界面元素的射線與組成移動(dòng)軌跡的線段數(shù)量判定該界面元素是否為用戶選定的界面元素時(shí),還存在著一些特定的場(chǎng)景,因此,優(yōu)先考慮存在的特定場(chǎng)景能夠快速判定界面元素是否為用戶選定的界面元素或去除干擾因素,進(jìn)而提高處理效率和準(zhǔn)確性。
[0112]具體的,特定場(chǎng)景為界面元素對(duì)應(yīng)的射線與組成移動(dòng)軌跡的線段處于平行的狀態(tài),此時(shí),若該射線以及與該射線相互平行的線段之間是重疊的,則該射線以及與該射線相互平行的線段之間的交點(diǎn)數(shù)量將會(huì)是無數(shù)個(gè);若該射線以及與該射線相互平等的線段之間是不重疊的,則沒有交點(diǎn),因此,在這一特定場(chǎng)景下將無法對(duì)交點(diǎn)數(shù)量確定具體的數(shù)值,因此,必須忽略與該射線平行的線段,為計(jì)算這與該射線平行的線段和射線之間的交點(diǎn)數(shù)量,以保證界面元素選定的準(zhǔn)確性。
[0113]如圖13所示,在一個(gè)實(shí)施例中,上述閉合區(qū)域處理模塊150還包括位置判斷單元
157。
[0114]位置判斷單元157,用于判斷界面元素所在區(qū)域是否與組成移動(dòng)軌跡的線段有交集,若是,則通知標(biāo)記單元155,若否,則通知交點(diǎn)判斷單元153。
[0115]本實(shí)施例中,特定場(chǎng)景為界面元素位于移動(dòng)軌跡上。若某一界面元素位于組成移動(dòng)軌跡的某一線段之上,則位置判斷單元157直接判定該界面元素是處于移動(dòng)軌跡所確定的閉合區(qū)域之內(nèi)的,此時(shí)該界面元素即為用戶選定的界面元素。
[0116]若界面元素并沒有位于組成移動(dòng)軌跡的某一線段之上,則需要獲取該界面元素對(duì)應(yīng)的射線與組成移動(dòng)軌跡的線段之間的交點(diǎn)總數(shù),進(jìn)而繼續(xù)判斷該界面元素是否位于移動(dòng)軌跡所確定的閉合區(qū)域中。
[0117]具體的,位置判斷單元157可以通過判斷公式(yl-yO) * (x2_x0) - (y2_y0)*(xl-x0)==0是否成立來判定界面元素是否位于移動(dòng)軌跡上,在判斷到上述公式時(shí)成立的則進(jìn)一步判斷xO和y0是否均位于xl和x2以及yl和y2之間,若是,則判定界面元素所在區(qū)域與組成移動(dòng)軌跡有交集,其中,(X i,y I)和(x2,y 2 )分別為組成移動(dòng)軌跡的線段中端點(diǎn)PI和端點(diǎn)P2的坐標(biāo),(x0, y0)界面元素P的坐標(biāo),界面元素的坐標(biāo)可以設(shè)定為界面元素的中心位置所對(duì)應(yīng)的坐標(biāo)。[0118]如圖14所示,在一個(gè)實(shí)施例中,上述閉合區(qū)域處理模塊150還包括端點(diǎn)判斷單元
158。
[0119]端點(diǎn)判斷單元158,用于判斷該射線是否穿過線段的端點(diǎn),若是,則忽略端點(diǎn)所在的任一線段,若否,則通知交點(diǎn)判斷單元153。
[0120]本實(shí)施例中,特定場(chǎng)景為射線穿過線段的某一個(gè)端的情況。具體的,在相互連接的兩條線段之間是通過端點(diǎn)連接的,因此界面元素的射線穿過線段端點(diǎn)時(shí),該射線將與兩條線段存在交點(diǎn),但是實(shí)際上對(duì)于整個(gè)移動(dòng)軌跡而言是只有一個(gè)交點(diǎn)的,因此,應(yīng)當(dāng)忽略其中一條線段,以保證交點(diǎn)數(shù)量的準(zhǔn)確性。
[0121]上述實(shí)現(xiàn)界面元素選定的裝置中,可根據(jù)實(shí)際需要設(shè)置平行判斷單元156、位置判斷單元157以及端點(diǎn)判斷單元158中的任一個(gè)單元,也可以將這三個(gè)單元都設(shè)置于上述實(shí)現(xiàn)界面元素選定的裝置中。
[0122]上述實(shí)現(xiàn)界面元素選定的方法和裝置,獲取用戶在界面中輸入的移動(dòng)操作,根據(jù)移動(dòng)操作所確定的閉合區(qū)域得于位于閉合區(qū)域中的界面元素,將這些界面元素選中,在這一界面元素的選定過程中,用戶只需要在界面上隨意輸入移動(dòng)操作即可實(shí)現(xiàn)大量界面元素的選定,大大地簡(jiǎn)化了操作,提高了對(duì)界面元素進(jìn)行選定的速度。
[0123]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random AccessMemory, RAM)等。
[0124]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種實(shí)現(xiàn)界面元素選定的方法,包括如下步驟: 獲取界面中的移動(dòng)操作,并記錄所述移動(dòng)操作對(duì)應(yīng)的移動(dòng)軌跡; 判斷所述移動(dòng)軌跡所確定的區(qū)域是否為閉合區(qū)域,若是,則 將閉合區(qū)域內(nèi)的的界面元素選中。
2.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)界面元素選定的方法,其特征在于,所述判斷所述移動(dòng)軌跡所確定的區(qū)域是否為閉合區(qū)域的步驟為: 在組成移動(dòng)軌跡的線段中設(shè)置任意一條線段為起始線段,并以所述起始線段中的任一端點(diǎn)作為所述起始線段的終點(diǎn); 在所述移動(dòng)軌跡的線段中以所述終點(diǎn)為起始,判斷未與所述終點(diǎn)相交的線段是否與所述起始線段相交,若是,則 進(jìn)入所述將閉合區(qū)域內(nèi)的界面元素選中的步驟。
3.根據(jù)權(quán)利要求2所述的實(shí)現(xiàn)界面元素選定的方法,其特征在于,所述判斷所述移動(dòng)軌跡形成的區(qū)域是否為閉合區(qū)域的步驟還包括: 判斷到未與所述終點(diǎn) 相交的線段與所述起始線段不相交時(shí),根據(jù)所述起始線段的起始方向得到所述未與所述終點(diǎn)相交的線段對(duì)應(yīng)的終點(diǎn),并計(jì)算所述得到的終點(diǎn)與所述起始線段的起點(diǎn)之間的距離; 判斷所述距離是否小于閾值,若是,則 通過所述得到的終點(diǎn)和所述起始線段的起點(diǎn)之間的連線得到所述移動(dòng)軌跡所確定的閉合區(qū)域。
4.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)界面元素選定的方法,其特征在于,所述將所述閉合區(qū)域內(nèi)的界面元素選中的步驟為: 逐一以界面元素為起點(diǎn)進(jìn)行延伸得到所述界面元素的射線; 獲取所述射線與組成移動(dòng)軌跡的線段之間的交點(diǎn)總數(shù),并判斷所述交點(diǎn)總數(shù)是否為奇數(shù),若是,則 將所述射線對(duì)應(yīng)的界面元素選中。
5.根據(jù)權(quán)利要求4所述的實(shí)現(xiàn)界面元素選定的方法,其特征在于,所述獲取所述射線與組成移動(dòng)軌跡的線段之間的交點(diǎn)總數(shù)的步驟之前還包括: 判斷所述組成移動(dòng)軌跡的線段是否與射線平行,若是,則忽略與所述射線平行的線段,若否,則進(jìn)入所述獲取所述射線與組成移動(dòng)軌跡的線段之間的交點(diǎn)總數(shù)的步驟。
6.根據(jù)權(quán)利要求4所述的實(shí)現(xiàn)界面元素選定的方法,其特征在于,所述獲取所述射線與組成移動(dòng)軌跡的線段之間的交點(diǎn)總數(shù)的步驟之前還包括: 判斷所述界面元素所在區(qū)域是否與所述組成移動(dòng)軌跡的線段有交集,若是,則進(jìn)入所述將所述射線對(duì)應(yīng)的界面元素選中的步驟,若否,則進(jìn)入所述獲取所述射線與組成移動(dòng)軌跡的線段之間的交點(diǎn)總數(shù)的步驟。
7.根據(jù)權(quán)利要求4所述的實(shí)現(xiàn)界面元素選定的方法,其特征在于,所述獲取所述射線與組成移動(dòng)軌跡的線段之間的交點(diǎn)總數(shù)的步驟之前還包括: 判斷所述射線是否穿過線段的端點(diǎn),若是,則忽略所述端點(diǎn)所在的任一線段。
8.根據(jù)權(quán)利要求1-7任一項(xiàng)所述的實(shí)現(xiàn)界面元素選定的方法,其特征在于,在將所述得到的界面元素選中后,將被選中的界面元素標(biāo)記為選中狀態(tài)。
9.一種實(shí)現(xiàn)界面元素選定的裝置,其特征在于,包括: 移動(dòng)處理模塊,用于獲取界面中的移動(dòng)操作,并記錄所述移動(dòng)操作對(duì)應(yīng)的軌跡; 有效性判定模塊,用于判斷所述移動(dòng)軌跡所確定的區(qū)域是否為閉合區(qū)域,若是,則通知閉合區(qū)域處理模塊; 所述閉合區(qū)域處理模塊用于根將閉合區(qū)域內(nèi)的界面元素標(biāo)記選中。
10.根據(jù)權(quán)利要求9所述的實(shí)現(xiàn)界面元素選定的裝置,其特征在于,所述有效性判定模塊包括: 設(shè)置單元,用于在組成移動(dòng)軌跡的線段中設(shè)置任意一條線段為起始線段,并以所述起始線段中的任一端點(diǎn)作為所述起始線段的終點(diǎn); 相交判斷單元,用于在所述移動(dòng)軌跡的線段中以所述終點(diǎn)為起始,判斷未與所述終點(diǎn)相交的線段是否與所述起始線段相交,若是,則通知所述閉合區(qū)域處理模塊。
11.根據(jù)權(quán)利要求10所述的實(shí)現(xiàn)界面元素選定的裝置,其特征在于,所述有效性判定模塊還包括: 距離計(jì)算單元,用于判斷到未與所述終點(diǎn)相交的線段與所述起始線段不相交時(shí),根據(jù)所述起始線段的起始方向得到所述未與所述終點(diǎn)相交的線段對(duì)應(yīng)的終點(diǎn),并計(jì)算所述得到的終點(diǎn)與所述起始線段的起點(diǎn)之間的距離; 距離判斷單元,用于判 斷所述距離是否小于閾值,若是,則通過所述得到的終點(diǎn)和所述起始線段的起點(diǎn)之間的連線得到所述移動(dòng)軌跡所確定的閉合區(qū)域。
12.根據(jù)權(quán)利要求9所述的實(shí)現(xiàn)界面元素選定的裝置,其特征在于,所述閉合區(qū)域處理模塊包括: 延伸單元,用于逐一以界面元素為起點(diǎn)進(jìn)行延伸得到所述界面元素的射線; 交點(diǎn)判斷單元,用于獲取所述射線與組成移動(dòng)軌跡的線段之間的交點(diǎn)總數(shù),并判斷所述交點(diǎn)總數(shù)是否為奇數(shù),若是,則通知標(biāo)記單元; 所述標(biāo)記單元用于將所述射線對(duì)應(yīng)的界面元素選中。
13.根據(jù)權(quán)利要求12所述的實(shí)現(xiàn)界面元素選定的裝置,其特征在于,所述閉合區(qū)域處理模塊還包括: 平行判斷單元,用于判斷所述組成移動(dòng)軌跡的線段是否與射線平行,若是,則忽略與所述射線平行的線段,若否,則通知所述交點(diǎn)判斷單元。
14.根據(jù)權(quán)利要求12所述的實(shí)現(xiàn)界面元素選定的裝置,其特征在于,所述閉合區(qū)域處理模塊還包括: 位置判斷單元,用于判斷所述界面元素所在區(qū)域是否與所述組成移動(dòng)軌跡的線段有交集,若是,則通知所述標(biāo)記單元,若否,則通知所述交點(diǎn)判斷單元。
15.根據(jù)權(quán)利要求12所述的實(shí)現(xiàn)界面元素選定的裝置,其特征在于,所述閉合區(qū)域處理模塊還包括: 端點(diǎn)判斷單元,用于判斷所述射線是否穿過線段的端點(diǎn),若是,則忽略所述端點(diǎn)所在的任一線段。
16.根據(jù)權(quán)利要求9-15任一項(xiàng)所述的實(shí)現(xiàn)界面元素選定的裝置,其特征在于,所述閉合區(qū)域處理模塊還用于在將所述得到的界面元素選中后,將被選中的界面元素標(biāo)記為選中狀態(tài)。
【文檔編號(hào)】G06F9/44GK103809954SQ201210457676
【公開日】2014年5月21日 申請(qǐng)日期:2012年11月14日 優(yōu)先權(quán)日:2012年11月14日
【發(fā)明者】楊云, 楊達(dá)志 申請(qǐng)人:騰訊科技(深圳)有限公司