生成界面的方法和系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明提供了一種生成界面的方法,所述方法包括:腳本引擎讀取界面描述文件,解析所述界面描述文件生成界面數(shù)據(jù),并發(fā)送給主程序;所述主程序根據(jù)所述界面數(shù)據(jù),從所述腳本引擎獲取與所述界面數(shù)據(jù)對(duì)應(yīng)的界面元素,并根據(jù)獲取的所述界面元素和所述界面數(shù)據(jù)繪制界面。上述生成界面的方法,主程序減少了讀取和解析界面描述文件的步驟,使得主程序能夠快速生成界面。此外,還提供了一種生成界面的系統(tǒng)。
【專(zhuān)利說(shuō)明】生成界面的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別是涉及一種生成界面的方法和系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,程序可以實(shí)現(xiàn)越來(lái)越多的功能,極大地改善了我們的生活,而界面是程序與用戶(hù)之間溝通的橋梁,是人機(jī)交互過(guò)程中不可缺少的元素,界面美觀、交互方便、用戶(hù)體驗(yàn)好,程序也會(huì)被更多的人認(rèn)可。
[0003]發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問(wèn)題:
[0004]傳統(tǒng)的界面生成方法,通過(guò)讀取、解析界面描述文件(比如XML (可擴(kuò)展標(biāo)記語(yǔ)言)文件),從而生成界面。當(dāng)界面元素較多時(shí),界面描述文件變得龐大,解析界面描述文件所用的時(shí)間也更多,進(jìn)而導(dǎo)致生成界面時(shí)消耗的時(shí)間更多。
【發(fā)明內(nèi)容】
[0005]基于此,有必要針對(duì)上述程序通過(guò)讀取界面描述文件生成界面,導(dǎo)致生成界面耗時(shí)多的問(wèn)題,提供一種生成界面的方法和系統(tǒng)。
[0006]一種生成界面的方法,所述方法包括:
[0007]腳本引擎讀取界面描述文件,解析所述界面描述文件生成界面數(shù)據(jù),并發(fā)送給主程序;
[0008]主程序根據(jù)所述界面數(shù)據(jù),從腳本引擎獲取與所述界面數(shù)據(jù)對(duì)應(yīng)的界面元素,并根據(jù)獲取的所述界面元素和所述界面數(shù)據(jù)繪制界面。
[0009]一種生成界面的系統(tǒng),所述系統(tǒng)包括:
[0010]腳本引擎,用于讀取界面描述文件,解析所述界面描述文件生成界面數(shù)據(jù),并發(fā)送給主程序;
[0011]主程序,用于根據(jù)所述界面數(shù)據(jù),從所述腳本引擎獲取與所述界面數(shù)據(jù)對(duì)應(yīng)的界面元素,并根據(jù)獲取的所述界面元素和所述界面數(shù)據(jù)繪制界面。
[0012]一種生成界面的方法,所述方法包括:
[0013]從腳本引擎接收界面數(shù)據(jù);
[0014]根據(jù)所述界面數(shù)據(jù),從腳本引擎獲取與所述界面數(shù)據(jù)對(duì)應(yīng)的界面元素;
[0015]根據(jù)獲取的所述界面元素和所述界面數(shù)據(jù)繪制界面。
[0016]—種生成界面的系統(tǒng),所述系統(tǒng)包括:
[0017]界面數(shù)據(jù)獲取模塊,用于從腳本引擎接收界面數(shù)據(jù);
[0018]界面元素獲取模塊,用于從腳本引擎獲取與所述界面數(shù)據(jù)對(duì)應(yīng)的界面元素;
[0019]繪制模塊,用于根據(jù)獲取的所述界面元素和所述界面數(shù)據(jù)繪制界面。
[0020]上述生成界面的方法和系統(tǒng),通過(guò)直接從腳本引擎獲取布局?jǐn)?shù)據(jù),生成界面,相比現(xiàn)有技術(shù),減少了讀取和解析界面描述文件的步驟,使得程序能夠快速生成界面。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0021]圖1為一個(gè)實(shí)施例中生成界面的方法的流程示意圖;
[0022]圖2為另一個(gè)實(shí)施例中生成界面的方法的流程示意圖;
[0023]圖3為一個(gè)實(shí)施例中層級(jí)結(jié)構(gòu)的結(jié)構(gòu)框圖;
[0024]圖4為一個(gè)實(shí)施例中界面元素的位置信息的示意圖;
[0025]圖5為一個(gè)實(shí)施例中生成界面的方法的流程示意圖;
[0026]圖6為一個(gè)實(shí)施例中調(diào)整界面的示意圖;
[0027]圖7為一個(gè)實(shí)施例中生成界面的方法的流程示意圖;
[0028]圖8為一個(gè)實(shí)施例中生成界面的系統(tǒng)的結(jié)構(gòu)框圖;
[0029]圖9為圖8中腳本引擎的結(jié)構(gòu)框圖;
[0030]圖10為圖9中布局?jǐn)?shù)據(jù)生成模塊的結(jié)構(gòu)框圖;
[0031]圖11為另一個(gè)實(shí)施例中生成界面的系統(tǒng)的結(jié)構(gòu)框圖;
[0032]圖12為再一個(gè)實(shí)施例中主程序的結(jié)構(gòu)框圖;
[0033]圖13為一個(gè)實(shí)施例中生成界面的方法的流程示意圖;
[0034]圖14為一個(gè)實(shí)施例中生成界面的系統(tǒng)的結(jié)構(gòu)框圖;
[0035]圖15為圖14中界面數(shù)據(jù)獲取模塊的結(jié)構(gòu)框圖;
[0036]圖16為另一個(gè)實(shí)施例中生成界面的系統(tǒng)的結(jié)構(gòu)框圖;
[0037]圖17為一個(gè)實(shí)施例中生成界面的終端的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0038]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0039]如圖1所示,在一個(gè)實(shí)施例中,提供了一種生成界面的方法。本實(shí)施例主要以該生成界面的方法應(yīng)用于包含有主程序和腳本引擎的終端中來(lái)舉例說(shuō)明,該終端可以包括智能手機(jī)、平板電腦、膝上型便攜計(jì)算機(jī)和臺(tái)式計(jì)算機(jī)等等。該生成界面的方法,包括:
[0040]步驟110,腳本引擎讀取界面描述文件,解析界面描述文件生成界面數(shù)據(jù),并發(fā)送給主程序。
[0041]腳本(Script)是使用一種特定的描述性語(yǔ)言,依據(jù)一定的格式編寫(xiě)的可執(zhí)行文件,又稱(chēng)為宏或批處理文件。腳本引擎是指為了實(shí)現(xiàn)預(yù)定的功能,而經(jīng)過(guò)包裝的函數(shù)庫(kù),可以讀取并解析腳本。界面描述文件是腳本的一種,可以是XML (extensible markuplanguage,可擴(kuò)展標(biāo)記語(yǔ)言)文件。界面描述文件使用描述性語(yǔ)言,記載了生成界面所需的信息。腳本引擎可以是一個(gè)可執(zhí)行程序,也可以是一個(gè)動(dòng)態(tài)鏈接庫(kù)(DLL,Dynamic LinkLibrary)。腳本引擎根據(jù)預(yù)設(shè)的界面描述定義解析界面描述文件,比如當(dāng)界面描述文件是XML文件時(shí),腳本引擎使用預(yù)設(shè)的XML文件的描述定義,解析XML文件,獲取其中的信息。
[0042]腳本引擎可以對(duì)解析獲得的界面描述文件中的信息進(jìn)行處理,生成預(yù)定格式的界面數(shù)據(jù),發(fā)送給主程序。如果界面描述文件中的信息已經(jīng)是預(yù)定格式的界面數(shù)據(jù),腳本引擎也可以不做進(jìn)一步處理,直接將該界面數(shù)據(jù)發(fā)送給主程序。腳本引擎可以獨(dú)立輸出布局?jǐn)?shù)據(jù),方便設(shè)計(jì)人員查看界面效果。
[0043]在一個(gè)實(shí)施例中,主程序與腳本引擎通信可以通過(guò)預(yù)設(shè)接口進(jìn)行,比如在windows平臺(tái)采用ATL (Active Template Library,活動(dòng)模板庫(kù),是一種微軟程序庫(kù))可以很容易就實(shí)現(xiàn)JavaScript (—種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶(hù)端腳本語(yǔ)言)腳本的支持。
[0044]步驟120,主程序根據(jù)界面數(shù)據(jù),從腳本引擎獲取與界面數(shù)據(jù)對(duì)應(yīng)的界面元素,并根據(jù)獲取的界面元素和界面數(shù)據(jù)繪制界面。
[0045]主程序是需要生成界面的應(yīng)用程序,主程序直接從腳本引擎接收界面數(shù)據(jù),從而根據(jù)界面數(shù)據(jù),從腳本引擎獲取與界面數(shù)據(jù)對(duì)應(yīng)的界面元素。腳本引擎中存在一個(gè)界面元素庫(kù),包含生成界面所需的界面元素。界面數(shù)據(jù)記載著生成界面所需的界面元素,主程序根據(jù)界面數(shù)據(jù)從該界面元素庫(kù)中獲取生成界面所需的界面元素,然后根據(jù)界面數(shù)據(jù)繪制界面。界面元素是生成界面所需的基本視覺(jué)元素,比如控件的圖標(biāo),界面元素可以是圖片。
[0046]腳本引擎可以獨(dú)立于主程序運(yùn)行,可以在主程序運(yùn)行前運(yùn)行,比如,在終端開(kāi)機(jī)的時(shí)候就啟動(dòng)腳本引擎,主程序啟動(dòng)時(shí)直接從腳本引擎獲取界面數(shù)據(jù),從而進(jìn)一步根據(jù)界面數(shù)據(jù)從腳本引擎獲取界面元素,繪制界面。
[0047]在一個(gè)實(shí)施例中,主程序檢測(cè)針對(duì)界面元素的功能觸發(fā)事件;當(dāng)主程序檢測(cè)到功能觸發(fā)事件時(shí),根據(jù)功能觸發(fā)事件完成與功能觸發(fā)事件對(duì)應(yīng)的界面元素的功能。本實(shí)施例中界面描述文件只記載著生成界面所需的信息,不對(duì)界面元素的功能進(jìn)行定義,界面元素的功能由主程序?qū)崿F(xiàn)。主程序可以通過(guò)檢測(cè)針對(duì)界面元素的功能觸發(fā)事件,比如鼠標(biāo)的點(diǎn)擊、快捷鍵等,根據(jù)預(yù)先定義,對(duì)功能觸發(fā)事件作出反饋,完成與功能觸發(fā)事件對(duì)應(yīng)的界面元素的功能。本實(shí)施例中,界面數(shù)據(jù)直接由腳本引擎提供,主程序完成界面元素的功能的實(shí)現(xiàn),減少了主程序啟動(dòng)時(shí)為生成界面而增加的耗時(shí)。
[0048]本實(shí)施例中,由腳本引擎讀取并解析界面描述文件生成界面數(shù)據(jù),并發(fā)送給主程序。主程序直接從腳本引擎接收界面數(shù)據(jù),根據(jù)界面數(shù)據(jù)從腳本引擎獲取生成界面所需的界面元素,從而根據(jù)獲取的界面元素和界面數(shù)據(jù)繪制界面,相比現(xiàn)有技術(shù),主程序減少了讀取和解析界面描述文件的步驟,使得主程序能夠快速生成界面。
[0049]如圖2所示,其為另一個(gè)實(shí)施例中生成界面的方法的流程示意圖。本實(shí)施例中,步驟110,腳本引擎讀取界面描述文件,解析界面描述文件生成界面數(shù)據(jù),并發(fā)送給主程序的步驟包括:
[0050]步驟112,腳本引擎讀取并解析界面描述文件,從而獲取界面元素標(biāo)識(shí)、界面元素的組合關(guān)系信息和樣式數(shù)據(jù),界面元素的組合關(guān)系信息包括界面元素的排列順序以及界面元素在層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí)。
[0051]界面元素標(biāo)識(shí)可以唯一標(biāo)識(shí)出界面元素,主程序可以根據(jù)界面元素標(biāo)識(shí)從腳本引擎的界面元素庫(kù)中調(diào)取生成界面所需的界面元素。樣式數(shù)據(jù)可以在主程序生成界面時(shí),對(duì)界面元素作出進(jìn)一步地調(diào)整,在一個(gè)實(shí)施例中,樣式數(shù)據(jù)可以包括顏色、字體、字號(hào)和界面元素是否顯示中的至少一項(xiàng)。
[0052]界面元素的組合關(guān)系信息包括界面元素的排列順序以及界面元素在層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí)。界面元素的排列順序可以表示界面元素相對(duì)于其它界面元素的排列位置。層級(jí)結(jié)構(gòu)通過(guò)分層,使得界面元素層次分明,相互關(guān)系明確,便于對(duì)界面元素進(jìn)行調(diào)整。界面元素在層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí)可以標(biāo)識(shí)界面元素在層級(jí)結(jié)構(gòu)中的相對(duì)位置,也可以表示界面元素是否疊加于其它界面元素之上或之下,還可以表示該界面元素是否包含或包含于其它界面元素。
[0053]如圖3所示,其為一個(gè)實(shí)施例中層級(jí)結(jié)構(gòu)的結(jié)構(gòu)框圖,該層級(jí)結(jié)構(gòu)包括:至少一框架(比如圖3中的FrameLayout)、至少一行(比如圖3中的LinelLayout、Line2Layout和Line3Layout)、至少一界面兀素(比如Buttonl、Button2和Button3)和至少一組(比如UIGroupU UI Group2和UI Group3);其中框架包含行、行包含組或者界面元素,組包含界面元素。比如行Line2Layout包含三個(gè)組,分別是UI GroupUUI Group2和UI Group3,組UIGroup2包含三個(gè)界面元素,分別是Buttonl、Button2和Button3。需要說(shuō)明的是,行可以直接包含界面元素,層級(jí)結(jié)構(gòu)中可以沒(méi)有組??蚣苡靡员硎菊麄€(gè)界面顯示的區(qū)域,框架可以包含多行;組是多個(gè)界面元素的組合,一組可以包含多個(gè)界面元素。界面元素在該層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí)可以包括行標(biāo)識(shí),當(dāng)還存在組時(shí),位置標(biāo)識(shí)還可以包括組標(biāo)識(shí),行標(biāo)識(shí)可以表示界面元素屬于哪一行,組標(biāo)識(shí)可以表示界面元素屬于哪一組。
[0054]步驟114,腳本引擎根據(jù)界面元素標(biāo)識(shí)和界面元素的組合關(guān)系信息計(jì)算界面元素的位置信息,從而生成布局?jǐn)?shù)據(jù),布局?jǐn)?shù)據(jù)包括界面元素標(biāo)識(shí)、界面元素的位置信息和界面元素的組合關(guān)系信息。
[0055]腳本引擎根據(jù)界面元素標(biāo)識(shí)和界面元素的組合關(guān)系信息,可以計(jì)算出界面元素的位置信息。界面元素的組合關(guān)系信息,表示了界面元素的相對(duì)位置,腳本引擎可以通過(guò)計(jì)算,得到界面元素的具體位置。比如,界面元素的組合關(guān)系信息中,說(shuō)明界面元素位于“中間”,通過(guò)計(jì)算可以獲得該界面元素在繪制時(shí)的具體坐標(biāo)。
[0056]在一個(gè)實(shí)施例中,腳本引擎根據(jù)界面元素標(biāo)識(shí)獲取界面元素的尺寸信息;腳本引擎根據(jù)尺寸信息和界面元素的組合關(guān)系信息,從層級(jí)結(jié)構(gòu)中的第一行開(kāi)始,逐行計(jì)算界面元素的位置信息。本實(shí)施例中,界面元素的尺寸信息可以是控件圖標(biāo)的寬度和高度。如圖4所示,其為一個(gè)實(shí)施例中界面元素的位置信息的示意圖,腳本引擎通過(guò)計(jì)算,可以獲得界面元素的位置信息,其中位置信息包括界面元素在繪制區(qū)域中的起始坐標(biāo)、高和寬。起始坐標(biāo)、高和寬可以確定界面元素在繪制區(qū)域中的位置和大小。本實(shí)施例中,在繪制區(qū)域(繪制界面的區(qū)域)中,左上角坐標(biāo)從(0,0)開(kāi)始,向右是X坐標(biāo)軸,向下是Y坐標(biāo)軸。腳本引擎讀取并解析XML文件(界面描述文件),獲取到5個(gè)控件圖標(biāo)的標(biāo)識(shí)(界面元素標(biāo)識(shí))、界面元素的組合關(guān)系信息和控件上顯示的文字的字體、大小和顏色(樣式數(shù)據(jù)),界面元素的組合關(guān)系信息包括控件圖標(biāo)在繪制時(shí)的先后順序(界面元素的排列順序)以及控件圖標(biāo)在層級(jí)結(jié)構(gòu)中的行數(shù)和組數(shù)(界面元素在層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí))。其中3個(gè)控件圖標(biāo)在第一行,屬于第一組,并按照界面元素的排列順序排列;1個(gè)控件圖標(biāo)在第二行;1個(gè)控件圖標(biāo)和一個(gè)空組在第三行。計(jì)算位置信息時(shí),腳本引擎根據(jù)各個(gè)控件圖標(biāo)的標(biāo)識(shí),獲取各個(gè)控件圖標(biāo)的尺寸信息,尺寸信息可以是控件圖標(biāo)的高度和寬度,然后從第一行開(kāi)始逐行計(jì)算。先計(jì)算第一行中3個(gè)控件圖標(biāo)各自在繪制區(qū)域中的起始坐標(biāo)、高和寬,比如如圖示所示,第一行中排列在第一的控件圖標(biāo),在繪制區(qū)域中對(duì)應(yīng)的起始坐標(biāo)就是(0,0)(本實(shí)施例中起始坐標(biāo)是指控件圖標(biāo)左上角在繪制區(qū)域中對(duì)應(yīng)的坐標(biāo));第一行中排在第二的控件圖標(biāo),對(duì)應(yīng)的起始坐標(biāo)就是(1,0),其X坐標(biāo)值由在第一行中排第一的控件圖標(biāo)的寬確定;第一行中的組的寬度是三個(gè)圖標(biāo)的寬度的和。然后依次計(jì)算第二行和第三行。其中第三行中排在第一的是一個(gè)空組,可以不繪制;第三行中排在第二的控件圖標(biāo)的起始坐標(biāo)是(1,2),其X坐標(biāo)值由空組的寬確定,其Y坐標(biāo)值由行數(shù)確定,其在繪制區(qū)域中的高和寬由該控件圖標(biāo)的尺寸信息確定。如圖4所示,通過(guò)計(jì)算,左上角的界面元素起始坐標(biāo)為(0,0),高是I (Y坐標(biāo)),寬是I (X坐標(biāo));第二行中的界面元素,(0,1) spans3c0lumns,表示起始坐標(biāo)為(0,1),高是I (Y坐標(biāo)),寬是3 (X坐標(biāo))。
[0057]步驟116,腳本引擎將包括布局?jǐn)?shù)據(jù)和樣式數(shù)據(jù)的界面數(shù)據(jù)發(fā)送給主程序。
[0058]腳本引擎將計(jì)算后得到的布局?jǐn)?shù)據(jù),連同與布局?jǐn)?shù)據(jù)對(duì)應(yīng)的樣式數(shù)據(jù)作為界面數(shù)據(jù),發(fā)送給主程序,從而由主程序去繪制界面。
[0059]本實(shí)施例中,腳本引擎通過(guò)從界面描述文件中獲取的界面元素標(biāo)識(shí)和界面元素的組合關(guān)系,計(jì)算出界面元素的位置信息,將包括界面元素標(biāo)識(shí)、界面元素的位置信息和界面元素的組合關(guān)系信息的布局?jǐn)?shù)據(jù),連同樣式數(shù)據(jù),作為界面數(shù)據(jù)輸出給主程序,大大減少了主程序讀取界面描述文件帶來(lái)的耗時(shí),主程序在需要生成界面時(shí),直接從腳本引擎獲取界面數(shù)據(jù),從而生成界面,減少了生成界面的耗時(shí)。
[0060]如圖5所示,其示出了一個(gè)實(shí)施例中生成界面的方法的流程示意圖。本實(shí)施例中,主程序根據(jù)界面數(shù)據(jù),從腳本引擎獲取與界面數(shù)據(jù)對(duì)應(yīng)的界面元素,并根據(jù)獲取的界面元素和界面數(shù)據(jù)繪制界面的步驟包括:
[0061]步驟122,主程序檢測(cè)界面調(diào)整事件。
[0062]主程序通過(guò)檢測(cè)界面調(diào)整事件,從而判斷是否需要對(duì)界面進(jìn)行調(diào)整。在一個(gè)實(shí)施例中,界面調(diào)整事件包括:界面元素的創(chuàng)建、界面元素的隱藏、界面元素的刪除、界面元素的移動(dòng)、窗口的縮放、顏色的改變和字體的改變中的至少一項(xiàng)。界面調(diào)整事件還可以是鼠標(biāo)對(duì)預(yù)設(shè)區(qū)域的點(diǎn)擊。
[0063]步驟124,當(dāng)主程序檢測(cè)到界面調(diào)整事件時(shí),向腳本引擎發(fā)送調(diào)整界面的控制信號(hào)。
[0064]當(dāng)主程序檢測(cè)到界面調(diào)整事件的時(shí)候,可以向腳本引擎發(fā)送調(diào)整界面的控制信號(hào)。主程序也可以直接對(duì)界面進(jìn)行調(diào)整,比如界面元素的縮放、顏色、字體的調(diào)整。
[0065]步驟126,腳本引擎根據(jù)控制信號(hào),對(duì)界面數(shù)據(jù)進(jìn)行調(diào)整,并將調(diào)整后的界面數(shù)據(jù)發(fā)送給主程序。
[0066]主程序發(fā)來(lái)的控制信號(hào),可以包含具體對(duì)哪些界面元素做了調(diào)整,腳本引擎根據(jù)控制信號(hào),對(duì)界面數(shù)據(jù)做出調(diào)整。如果一個(gè)或多個(gè)界面元素的位置發(fā)生了變化,可以重新計(jì)算該界面元素或多個(gè)界面元素的位置信息。在一個(gè)實(shí)施例中,也可以通過(guò)改變界面元素在層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí),來(lái)調(diào)整界面數(shù)據(jù)。
[0067]步驟128,主程序根據(jù)調(diào)整后的界面數(shù)據(jù),從腳本引擎獲取與調(diào)整后的界面數(shù)據(jù)對(duì)應(yīng)的界面元素,并根據(jù)獲取的界面元素和調(diào)整后的界面數(shù)據(jù)繪制界面。
[0068]主程序從腳本引擎接收調(diào)整后的界面數(shù)據(jù),按照調(diào)整后的界面數(shù)據(jù),從腳本引擎獲取界面元素,從而繪制界面。
[0069]如圖6所示,其為一個(gè)實(shí)施例中調(diào)整界面的示意圖。本實(shí)施例中,可以通檢測(cè)鼠標(biāo)對(duì)預(yù)設(shè)的調(diào)整界面的功能鍵的點(diǎn)擊,來(lái)調(diào)整界面。圖6中示出了兩種不同的界面,可以在界面描述文件中預(yù)設(shè)多種界面生成方案,對(duì)應(yīng)不同的方案,腳本引擎可以分別生成不同的界面數(shù)據(jù)。主程序先接收其中一個(gè)方案的界面數(shù)據(jù),當(dāng)主程序檢測(cè)到預(yù)設(shè)的調(diào)整界面的事件時(shí),直接由腳本引擎將另一個(gè)方案的界面數(shù)據(jù)發(fā)送給主程序,極大地提高了界面生成的效率。
[0070]本實(shí)施例中,可以通過(guò)檢測(cè)界面調(diào)整事件,判斷主程序是否需要調(diào)整界面,當(dāng)檢測(cè)到界面調(diào)整事件時(shí),向腳本引擎發(fā)送調(diào)整界面的控制信號(hào),由腳本引擎完成對(duì)界面數(shù)據(jù)的調(diào)整,主程序接收調(diào)整后的界面數(shù)據(jù),并根據(jù)調(diào)整后的界面數(shù)據(jù)繪制界面,從而可以靈活地對(duì)界面作出調(diào)整,提高了生成界面的效率。
[0071]如圖7所示,在一個(gè)實(shí)施例中,主程序?yàn)闉g覽器,該生成界面的方法包括:步驟602,腳本引擎讀取界面描述文件,解析界面描述文件生成界面數(shù)據(jù),并發(fā)送給瀏覽器。
[0072]在一個(gè)實(shí)施例中,腳本引擎讀取并解析界面描述文件,從而獲取界面元素標(biāo)識(shí)、界面元素的組合關(guān)系信息和樣式數(shù)據(jù),界面元素的組合關(guān)系信息包括界面元素的排列順序以及界面元素在層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí);腳本引擎根據(jù)界面元素標(biāo)識(shí)和界面元素的組合關(guān)系信息計(jì)算界面元素的位置信息,從而生成布局?jǐn)?shù)據(jù),布局?jǐn)?shù)據(jù)包括界面元素標(biāo)識(shí)、界面元素的位置信息和界面元素的組合關(guān)系信息;腳本引擎將包括布局?jǐn)?shù)據(jù)和樣式數(shù)據(jù)的界面數(shù)據(jù)發(fā)送給瀏覽器。
[0073]在一個(gè)實(shí)施例中,樣式數(shù)據(jù)包括顏色、字體、字號(hào)和界面元素是否顯示中的至少一項(xiàng)。
[0074]在一個(gè)實(shí)施例中,層級(jí)結(jié)構(gòu)包括:至少一框架、至少一行和至少一界面元素;其中框架包含行、行包含界面元素。
[0075]在一個(gè)實(shí)施例中,層級(jí)結(jié)構(gòu)還包括:至少一組,組包含界面元素。
[0076]在一個(gè)實(shí)施例中,腳本引擎根據(jù)界面元素標(biāo)識(shí)獲取界面元素的尺寸信息;腳本引擎根據(jù)尺寸信息和界面元素的組合關(guān)系信息,從層級(jí)結(jié)構(gòu)中的第一行開(kāi)始,逐行計(jì)算界面元素的位置信息。
[0077]在一個(gè)實(shí)施例中,位置信息包括:界面元素在繪制區(qū)域中的起始坐標(biāo)、高和寬。
[0078]步驟604,瀏覽器根據(jù)界面數(shù)據(jù),從腳本引擎獲取與界面數(shù)據(jù)對(duì)應(yīng)的界面元素,并根據(jù)獲取的界面元素和界面數(shù)據(jù)繪制界面。
[0079]在一個(gè)實(shí)施例中,瀏覽器檢測(cè)界面調(diào)整事件;當(dāng)瀏覽器檢測(cè)到界面調(diào)整事件時(shí),向腳本引擎發(fā)送調(diào)整界面的控制信號(hào);腳本引擎根據(jù)控制信號(hào),對(duì)界面數(shù)據(jù)進(jìn)行調(diào)整,并將調(diào)整后的界面數(shù)據(jù)發(fā)送給瀏覽器;瀏覽器根據(jù)調(diào)整后的界面數(shù)據(jù),從腳本引擎獲取與調(diào)整后的界面數(shù)據(jù)對(duì)應(yīng)的界面元素,并根據(jù)獲取的界面元素和調(diào)整后的界面數(shù)據(jù)繪制界面。
[0080]在一個(gè)實(shí)施例中,界面調(diào)整事件包括:界面元素的創(chuàng)建、界面元素的隱藏、界面元素的刪除、界面元素的移動(dòng)、窗口的縮放、顏色的改變和字體的改變中的至少一項(xiàng)。
[0081]在一個(gè)實(shí)施例中,瀏覽器檢測(cè)針對(duì)界面元素的功能觸發(fā)事件;當(dāng)瀏覽器檢測(cè)到功能觸發(fā)事件時(shí),根據(jù)該功能觸發(fā)事件完成與該功能觸發(fā)事件對(duì)應(yīng)的界面元素的功能。
[0082]本實(shí)施例中,瀏覽器直接從腳本引擎獲取界面數(shù)據(jù),并根據(jù)界面數(shù)據(jù)繪制界面,減少了讀取解析界面描述文件、并對(duì)解析的信息進(jìn)行處理的步驟,使得瀏覽器能夠快速生成界面。
[0083]如圖8所示,在一個(gè)實(shí)施例中,還提供了一種生成界面的系統(tǒng),該系統(tǒng)包括:
[0084]腳本引擎710,用于讀取界面描述文件,解析界面描述文件生成界面數(shù)據(jù),并發(fā)送給主程序720。
[0085]腳本引擎710可以是一個(gè)可執(zhí)行程序,也可以是一個(gè)動(dòng)態(tài)鏈接庫(kù)。腳本引擎710可以對(duì)解析獲得的界面描述文件中的信息進(jìn)行處理,生成預(yù)定格式的界面數(shù)據(jù),傳輸給主程序720。如果界面描述文件中的信息已經(jīng)是預(yù)定格式的界面數(shù)據(jù),腳本引擎710也可以不做進(jìn)一步處理,直接將該界面數(shù)據(jù)發(fā)送給主程序720。腳本引擎710可以獨(dú)立輸出布局?jǐn)?shù)據(jù),方便設(shè)計(jì)人員查看界面效果。
[0086]主程序720,用于從腳本引擎710接收界面數(shù)據(jù),根據(jù)界面數(shù)據(jù),從腳本引擎710獲取與界面數(shù)據(jù)對(duì)應(yīng)的界面元素,并根據(jù)獲取的界面元素和界面數(shù)據(jù)繪制界面。
[0087]主程序720直接從腳本引擎710接收界面數(shù)據(jù),從而根據(jù)界面數(shù)據(jù),從腳本引擎710獲取與界面數(shù)據(jù)對(duì)應(yīng)的界面元素。腳本引擎710中存在一個(gè)界面元素庫(kù),包含生成界面所需的界面元素。界面數(shù)據(jù)記載著生成界面所需的界面元素,主程序720根據(jù)界面數(shù)據(jù)從該界面元素庫(kù)中獲取生成界面所需的界面元素,然后根據(jù)界面數(shù)據(jù)繪制界面。
[0088]腳本引擎710可以獨(dú)立于主程序720運(yùn)行,可以在主程序720運(yùn)行前運(yùn)行,比如,在終端開(kāi)機(jī)的時(shí)候就啟動(dòng)腳本引擎710,主程序720啟動(dòng)時(shí)直接從腳本引擎710獲取界面數(shù)據(jù),從而進(jìn)一步根據(jù)界面數(shù)據(jù)從腳本引擎710獲取界面元素,繪制界面。
[0089]本實(shí)施例中,由腳本引擎710讀取并解析界面描述文件生成界面數(shù)據(jù),并發(fā)送給主程序720。主程序720直接從腳本引擎710接收界面數(shù)據(jù),根據(jù)界面數(shù)據(jù)從腳本引擎710獲取生成界面所需的界面元素,從而根據(jù)獲取的界面元素和界面數(shù)據(jù)繪制界面,相比現(xiàn)有技術(shù),主程序720減少了讀取和解析界面描述文件的步驟,使得程序能夠快速生成界面。
[0090]如圖9所示,在一個(gè)實(shí)施例中,腳本引擎710包括:
[0091]界面描述文件解析模塊712,用于讀取并解析界面描述文件,從而獲取界面元素標(biāo)識(shí)、界面元素的組合關(guān)系信息和樣式數(shù)據(jù),界面元素的組合關(guān)系信息包括界面元素的排列順序以及界面元素在層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí)。
[0092]界面元素標(biāo)識(shí)可以唯一標(biāo)識(shí)出界面元素,界面描述文件解析模塊712可以根據(jù)界面元素標(biāo)識(shí)從腳本引擎710的界面元素庫(kù)中調(diào)取生成界面所需的界面元素。樣式數(shù)據(jù)可以在主程序720生成界面時(shí),對(duì)界面元素作出進(jìn)一步地調(diào)整,在一個(gè)實(shí)施例中,樣式數(shù)據(jù)可以包括顏色、字體、字號(hào)和界面元素是否顯示中的至少一項(xiàng)。
[0093]界面元素的組合關(guān)系信息包括界面元素的排列順序以及界面元素在層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí)。界面元素的排列順序可以表示界面元素相對(duì)于其它界面元素的排列位置。層級(jí)結(jié)構(gòu)通過(guò)分層,使得界面元素層次分明,相互關(guān)系明確,便于對(duì)界面元素進(jìn)行調(diào)整。界面元素在層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí)可以標(biāo)識(shí)界面元素在層級(jí)結(jié)構(gòu)中的相對(duì)位置,也可以表示界面元素是否疊加于其它界面元素之上或之下,也可以表示該界面元素是否包含或包含于其它界面元素。
[0094]在一個(gè)實(shí)施例中,層級(jí)結(jié)構(gòu)包括:至少一框架、至少一行和至少一界面元素;其中框架包含行、行包含界面元素。層級(jí)結(jié)構(gòu)還可以包括組,組包含界面元素。界面元素在該層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí)可以包括行標(biāo)識(shí),還可以包括組標(biāo)識(shí)。
[0095]布局?jǐn)?shù)據(jù)生成模塊714,用于根據(jù)界面元素標(biāo)識(shí)和界面元素的組合關(guān)系信息計(jì)算界面元素的位置信息,從而生成布局?jǐn)?shù)據(jù),布局?jǐn)?shù)據(jù)包括界面元素標(biāo)識(shí)、界面元素的位置信息和界面元素的組合關(guān)系信息。
[0096]布局?jǐn)?shù)據(jù)生成模塊714根據(jù)界面元素標(biāo)識(shí)和界面元素的組合關(guān)系信息,可以計(jì)算出界面元素的位置信息。界面元素的組合關(guān)系信息,表示了界面元素的相對(duì)位置,腳本引擎710可以通過(guò)計(jì)算,得到界面元素的具體位置。
[0097]如圖10所示,在一個(gè)實(shí)施例中,布局?jǐn)?shù)據(jù)生成模塊714還包括:
[0098]尺寸信息獲取模塊714a,用于根據(jù)界面元素標(biāo)識(shí)獲取界面元素的尺寸信息。
[0099]位置信息計(jì)算模塊714b,用于根據(jù)尺寸信息和界面元素的組合關(guān)系信息,從層級(jí)結(jié)構(gòu)中的第一行開(kāi)始,逐行計(jì)算界面元素的位置信息。
[0100]界面數(shù)據(jù)發(fā)送模塊716,用于將包括布局?jǐn)?shù)據(jù)和樣式數(shù)據(jù)的界面數(shù)據(jù)發(fā)送給主程序 720。
[0101]界面數(shù)據(jù)發(fā)送模塊716將計(jì)算后得到的布局?jǐn)?shù)據(jù),連同與布局?jǐn)?shù)據(jù)對(duì)應(yīng)的樣式數(shù)據(jù)作為界面數(shù)據(jù),發(fā)送給主程序720,從而由主程序720去繪制界面。
[0102]在一個(gè)實(shí)施例中,位置信息包括:界面元素在繪制區(qū)域中的起始坐標(biāo)、高和寬。
[0103]本實(shí)施例中,腳本引擎710通過(guò)從界面描述文件中獲取的界面元素標(biāo)識(shí)和界面元素的組合關(guān)系,計(jì)算出界面元素的位置信息,將包括界面元素標(biāo)識(shí)、界面元素的位置信息和界面元素的組合關(guān)系信息的布局?jǐn)?shù)據(jù),連同樣式數(shù)據(jù),作為界面數(shù)據(jù)輸出給主程序720,大大減少了主程序720讀取界面描述文件帶來(lái)的耗時(shí),主程序720在需要生成界面時(shí),直接從腳本引擎710獲取界面數(shù)據(jù),從而生成界面,減少了生成界面的耗時(shí)。
[0104]如圖11所示,在一個(gè)實(shí)施例中,主程序720包括:
[0105]界面調(diào)整事件檢測(cè)模塊722,用于檢測(cè)界面調(diào)整事件。
[0106]界面調(diào)整事件檢測(cè)模塊722通過(guò)檢測(cè)界面調(diào)整事件,從而判斷是否需要對(duì)界面進(jìn)行調(diào)整。在一個(gè)實(shí)施例中,界面調(diào)整事件包括:界面元素的創(chuàng)建、界面元素的隱藏、界面元素的刪除、界面元素的移動(dòng)、窗口的縮放、顏色的改變和字體的改變中的至少一項(xiàng)。界面調(diào)整事件還可以是鼠標(biāo)對(duì)預(yù)設(shè)區(qū)域的點(diǎn)擊。
[0107]控制信號(hào)發(fā)送模塊724,用于當(dāng)測(cè)到界面調(diào)整事件時(shí),向腳本引擎710發(fā)送調(diào)整界面的控制信號(hào)。
[0108]當(dāng)控制信號(hào)發(fā)送模塊724檢測(cè)到界面調(diào)整事件的時(shí)候,可以向腳本引擎710發(fā)送調(diào)整界面的控制信號(hào)。主程序720也可以直接對(duì)界面進(jìn)行調(diào)整。
[0109]界面繪制模塊726,用于從腳本引擎710接收調(diào)整后的界面數(shù)據(jù),根據(jù)調(diào)整后的界面數(shù)據(jù),從腳本引擎710獲取與調(diào)整后的界面數(shù)據(jù)對(duì)應(yīng)的界面元素,并根據(jù)獲取的界面元素和調(diào)整后的界面數(shù)據(jù)繪制界面。
[0110]界面繪制模塊726從腳本引擎710接收調(diào)整后的界面數(shù)據(jù),按照調(diào)整后的界面數(shù)據(jù),從腳本引擎710獲取界面元素,從而繪制界面。
[0111]本實(shí)施例中,通過(guò)檢測(cè)界面調(diào)整事件,判斷主程序720是否需要調(diào)整界面,當(dāng)檢測(cè)到界面調(diào)整事件時(shí),向腳本引擎710發(fā)送調(diào)整界面的控制信號(hào),由腳本引擎710完成對(duì)界面數(shù)據(jù)的調(diào)整,主程序720接收調(diào)整后的界面數(shù)據(jù),并根據(jù)調(diào)整后的界面數(shù)據(jù)繪制界面,從而可以靈活地對(duì)界面作出調(diào)整,提高了生成界面的效率。
[0112]如圖12所示,在一個(gè)實(shí)施例中,主程序720還包括:
[0113]功能觸發(fā)事件檢測(cè)模塊728,用于檢測(cè)針對(duì)界面元素的功能觸發(fā)事件。
[0114]功能實(shí)現(xiàn)模塊729,用于當(dāng)檢測(cè)到功能觸發(fā)事件時(shí),根據(jù)功能觸發(fā)事件完成與功能觸發(fā)事件對(duì)應(yīng)的界面元素的功能。
[0115]本實(shí)施例中,界面數(shù)據(jù)直接由腳本引擎710提供,主程序720完成界面元素的功能的實(shí)現(xiàn),減少了主程序720啟動(dòng)時(shí)為生成界面而增加的耗時(shí)。
[0116]如圖13所示,在一個(gè)實(shí)施例中,還提供了另一種生成界面的方法,包括:
[0117]步驟1010,從腳本引擎接收界面數(shù)據(jù)。
[0118]腳本引擎可以是一個(gè)可執(zhí)行程序,也可以是一個(gè)動(dòng)態(tài)鏈接庫(kù)。界面數(shù)據(jù)可以包括布局?jǐn)?shù)據(jù)和樣式數(shù)據(jù),布局?jǐn)?shù)據(jù)包括界面元素標(biāo)識(shí)、界面元素的位置信息和界面元素的組合關(guān)系信息。樣式數(shù)據(jù)可以包括顏色、字體、字號(hào)和界面元素是否顯示中的至少一項(xiàng)。位置信息包括界面元素在繪制區(qū)域中的起始坐標(biāo)、高和寬。界面元素的組合關(guān)系信息可以包括界面元素的排列順序以及界面元素在層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí)。該層級(jí)結(jié)構(gòu)可以包括:至少一框架、至少一行和至少一界面元素;其中框架包含行、行包含界面元素。層級(jí)結(jié)構(gòu)還可以包括組,組包含界面元素。
[0119]步驟1020,根據(jù)界面數(shù)據(jù),從腳本引擎獲取與界面數(shù)據(jù)對(duì)應(yīng)的界面元素。
[0120]腳本引擎中存在一個(gè)界面元素庫(kù),包含生成界面所需的界面元素??梢愿鶕?jù)界面數(shù)據(jù)中的界面元素標(biāo)識(shí),從腳本引擎的界面元素庫(kù)中獲取界面元素。
[0121]步驟1030,根據(jù)獲取的界面元素和界面數(shù)據(jù)繪制界面。
[0122]可以根據(jù)界面數(shù)據(jù)中的信息,對(duì)獲取的界面元素進(jìn)行處理,從而繪制界面。
[0123]在一個(gè)實(shí)施例中,該生成界面的方法還包括:檢測(cè)針對(duì)界面元素的功能觸發(fā)事件;當(dāng)檢測(cè)到功能觸發(fā)事件時(shí),根據(jù)所述功能觸發(fā)事件完成與所述功能觸發(fā)事件對(duì)應(yīng)的界面元素的功能。
[0124]本實(shí)施例中,直接從腳本引擎獲取界面數(shù)據(jù),并根據(jù)界面數(shù)據(jù)從腳本引擎中獲取界面元素,從而繪制界面,提高了生成界面的效率,可以快速生成界面。
[0125]在另一個(gè)實(shí)施例中,從腳本引擎接收界面數(shù)據(jù)的步驟包括:
[0126]檢測(cè)界面調(diào)整事件。
[0127]界面調(diào)整事件可以包括:界面元素的創(chuàng)建、界面元素的隱藏、界面元素的刪除、界面元素的移動(dòng)、窗口的縮放、顏色的改變和字體的改變中的至少一項(xiàng)。界面調(diào)整事件還可以是鼠標(biāo)對(duì)預(yù)設(shè)區(qū)域的點(diǎn)擊。
[0128]當(dāng)檢測(cè)到界面調(diào)整事件時(shí),向腳本引擎發(fā)送調(diào)整界面的控制信號(hào)。
[0129]當(dāng)檢測(cè)到界面調(diào)整事件時(shí),需要對(duì)界面數(shù)據(jù)進(jìn)行處理,因此向腳本引擎發(fā)送調(diào)整界面的控制信號(hào),由腳本引擎根據(jù)控制信號(hào)對(duì)界面數(shù)據(jù)進(jìn)行處理。
[0130]接收腳本弓I擎根據(jù)控制信號(hào)調(diào)整的界面數(shù)據(jù)。
[0131]腳本引擎根據(jù)控制信號(hào)對(duì)界面數(shù)據(jù)進(jìn)行調(diào)整,并將調(diào)整后的界面數(shù)據(jù)反饋回來(lái)。接收到調(diào)整后的界面數(shù)據(jù),就可以根據(jù)調(diào)整后的界面數(shù)據(jù)繪制界面。
[0132]本實(shí)施例中,當(dāng)檢測(cè)到界面調(diào)整事件事,向腳本引擎發(fā)送控制信號(hào),由腳本引擎對(duì)界面數(shù)據(jù)進(jìn)行調(diào)整,從而根據(jù)接收到的調(diào)整后的界面數(shù)據(jù)繪制界面,從而可以靈活地對(duì)界面作出調(diào)整,提高了生成界面的效率。
[0133]如圖14所示,在一個(gè)實(shí)施例中,提供了另一種生成界面的系統(tǒng),包括:
[0134]界面數(shù)據(jù)獲取模塊1210,用于從腳本引擎接收界面數(shù)據(jù)。
[0135]腳本引擎可以是一個(gè)可執(zhí)行程序,也可以是一個(gè)動(dòng)態(tài)鏈接庫(kù)。界面數(shù)據(jù)可以包括布局?jǐn)?shù)據(jù)和樣式數(shù)據(jù),布局?jǐn)?shù)據(jù)包括界面元素標(biāo)識(shí)、界面元素的位置信息和界面元素的組合關(guān)系信息。樣式數(shù)據(jù)可以包括顏色、字體、字號(hào)和界面元素是否顯示中的至少一項(xiàng)。位置信息包括界面元素在繪制區(qū)域中的起始坐標(biāo)、高和寬。界面元素的組合關(guān)系信息可以包括界面元素的排列順序以及界面元素在層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí)。該層級(jí)結(jié)構(gòu)可以包括:至少一框架、至少一行和至少一界面元素;其中框架包含行、行包含界面元素。該層級(jí)結(jié)構(gòu)還可以包括組,組包含界面元素。
[0136]界面元素獲取模塊1220,用從腳本引擎獲取與界面數(shù)據(jù)對(duì)應(yīng)的界面元素。
[0137]腳本引擎中存在一個(gè)界面元素庫(kù),包含生成界面所需的界面元素??梢愿鶕?jù)界面數(shù)據(jù)中的界面元素標(biāo)識(shí),從腳本引擎的界面元素庫(kù)中獲取界面元素。
[0138]繪制模塊1230,用于根據(jù)獲取的界面元素和界面數(shù)據(jù)繪制界面。
[0139]可以根據(jù)界面數(shù)據(jù)中的信息,對(duì)獲取的界面元素進(jìn)行處理,從而繪制界面。
[0140]本實(shí)施例中,直接從腳本引擎獲取界面數(shù)據(jù),并根據(jù)界面數(shù)據(jù)從腳本引擎中獲取界面元素,從而繪制界面,提高了生成界面的效率,可以快速生成界面。
[0141]如圖15所示,在另一個(gè)實(shí)施例中,界面數(shù)據(jù)獲取模塊1210包括:
[0142]事件檢測(cè)模塊1211,用于檢測(cè)界面調(diào)整事件。
[0143]界面調(diào)整事件可以包括:界面元素的創(chuàng)建、界面元素的隱藏、界面元素的刪除、界面元素的移動(dòng)、窗口的縮放、顏色的改變和字體的改變中的至少一項(xiàng)。界面調(diào)整事件還可以是鼠標(biāo)對(duì)預(yù)設(shè)區(qū)域的點(diǎn)擊。
[0144]信號(hào)發(fā)送模塊1212,用于當(dāng)檢測(cè)到界面調(diào)整事件時(shí),向腳本引擎發(fā)送調(diào)整界面的控制信號(hào)。
[0145]當(dāng)檢測(cè)到界面調(diào)整事件時(shí),需要對(duì)界面數(shù)據(jù)進(jìn)行處理,因此向腳本引擎發(fā)送調(diào)整界面的控制信號(hào),由腳本引擎根據(jù)控制信號(hào)對(duì)界面數(shù)據(jù)進(jìn)行處理。
[0146]數(shù)據(jù)接收模塊1213,用于接收腳本引擎根據(jù)控制信號(hào)調(diào)整的界面數(shù)據(jù)。
[0147]腳本引擎根據(jù)控制信號(hào)對(duì)界面數(shù)據(jù)進(jìn)行調(diào)整,并將調(diào)整后的界面數(shù)據(jù)反饋回來(lái)。數(shù)據(jù)接收模塊1213接收到調(diào)整后的界面數(shù)據(jù),就可以根據(jù)調(diào)整后的界面數(shù)據(jù)繪制界面。
[0148]本實(shí)施例中,當(dāng)檢測(cè)到界面調(diào)整事件事,向腳本引擎發(fā)送控制信號(hào),由腳本引擎對(duì)界面數(shù)據(jù)進(jìn)行調(diào)整,從而根據(jù)接收到的調(diào)整后的界面數(shù)據(jù)繪制界面,從而可以靈活地對(duì)界面作出調(diào)整,提高了生成界面的效率。
[0149]如圖16所示,在一個(gè)實(shí)施例中,該生成界面的系統(tǒng)還包括:
[0150]功能觸發(fā)事件檢測(cè)模塊1240,用于檢測(cè)針對(duì)界面元素的功能觸發(fā)事件。
[0151]功能實(shí)現(xiàn)模塊1250,用于當(dāng)檢測(cè)到所述功能觸發(fā)事件時(shí),根據(jù)所述功能觸發(fā)事件完成與所述功能觸發(fā)事件對(duì)應(yīng)的界面元素的功能。
[0152]本實(shí)施例中,界面數(shù)據(jù)直接由腳本引擎提供,界面元素的功能的實(shí)現(xiàn)與,減少了主程序720啟動(dòng)時(shí)為生成界面而增加的耗時(shí)。
[0153]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成的,程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中的存儲(chǔ)介質(zhì)可為磁碟、光盤(pán)、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory,RAM)等。
[0154]本發(fā)明實(shí)施例還提供了另一種生成界面的終端,如圖17所示,為了便于說(shuō)明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,具體技術(shù)細(xì)節(jié)未揭示的,請(qǐng)參照本發(fā)明實(shí)施例方法部分。該終端可以為包括手機(jī)、平板電腦、PDA (Personal Digital Assistant,個(gè)人數(shù)字助理)、P0S (Point of Sales,銷(xiāo)售終端)、車(chē)載電腦等任意終端設(shè)備,以終端為手機(jī)為例:
[0155]圖17示出的是與本發(fā)明實(shí)施例提供的終端相關(guān)的手機(jī)的部分結(jié)構(gòu)的框圖。參考圖17,手機(jī)包括:射頻(Rad1 Frequency,RF)電路1110、存儲(chǔ)器1120、輸入單元1130、顯示單元1140、傳感器1150、音頻電路1160、無(wú)線(xiàn)通信模塊1170、處理器1180、以及電源1190等部件。本領(lǐng)域技術(shù)人員可以理解,圖17中示出的手機(jī)結(jié)構(gòu)并不構(gòu)成對(duì)手機(jī)的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
[0156]下面結(jié)合圖17對(duì)手機(jī)的各個(gè)構(gòu)成部件進(jìn)行具體的介紹:
[0157]RF電路1110可用于收發(fā)信息或通話(huà)過(guò)程中,信號(hào)的接收和發(fā)送,特別地,將基站的下行信息接收后,給處理器1180處理;另外,將設(shè)計(jì)上行的數(shù)據(jù)發(fā)送給基站。通常,RF電路包括但不限于天線(xiàn)、至少一個(gè)放大器、收發(fā)信機(jī)、耦合器、低噪聲放大器(LowNoise Amplifier, LNA)、雙工器等。此外,RF電路110還可以通過(guò)無(wú)線(xiàn)通信與網(wǎng)絡(luò)和其他設(shè)備通信。上述無(wú)線(xiàn)通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移動(dòng)通訊系統(tǒng)(Global System of Mobile communicat1n, GSM)、通用分組無(wú)線(xiàn)服務(wù)(GeneralPacket Rad1 Service, GPRS)、碼分多址(Code Divis1n Multiple Access, CDMA)、寬帶碼分多址(Wideband Code Divis1n Multiple Access, WCDMA)、長(zhǎng)期演進(jìn)(Long TermEvolut1n, LTE))、電子郵件、短消息服務(wù)(Short Messaging Service, SMS)等。
[0158]存儲(chǔ)器1120可用于存儲(chǔ)程序程序以及模塊,處理器1180通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器1120的程序程序以及模塊,從而執(zhí)行手機(jī)的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器1120可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)手機(jī)的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話(huà)本等)等。此外,存儲(chǔ)器1120可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤(pán)存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。
[0159]輸入單元1130可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與手機(jī)的用戶(hù)設(shè)置以及功能控制有關(guān)的鍵信號(hào)輸入。具體地,輸入單元1130可包括觸控面板1131以及其他輸入設(shè)備1132。觸控面板1131,也稱(chēng)為觸摸屏,可收集用戶(hù)在其上或附近的觸摸操作(比如用戶(hù)使用手指、觸筆等任何適合的物體或附件在觸控面板1131上或在觸控面板1131附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動(dòng)相應(yīng)的連接裝置??蛇x的,觸控面板1131可包括觸摸檢測(cè)裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測(cè)裝置檢測(cè)用戶(hù)的觸摸方位,并檢測(cè)觸摸操作帶來(lái)的信號(hào),將信號(hào)傳送給觸摸控制器;觸摸控制器從觸摸檢測(cè)裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器1180,并能接收處理器1180發(fā)來(lái)的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線(xiàn)以及表面聲波等多種類(lèi)型實(shí)現(xiàn)觸控面板1131。除了觸控面板1131,輸入單元1130還可以包括其他輸入設(shè)備1132。具體地,其他輸入設(shè)備1132可以包括但不限于物理鍵盤(pán)、功能鍵(比如音量控制按鍵、開(kāi)關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
[0160]顯示單元1140可用于顯示由用戶(hù)輸入的信息或提供給用戶(hù)的信息以及手機(jī)的各種菜單。顯示單元1140可包括顯示面板1141,可選的,可以采用液晶顯示器(LiquidCrystal Display, LCD)、有機(jī)發(fā)光二極管(Organic Light-Emitting D1de, 0LED)等形式來(lái)配置顯示面板1141。進(jìn)一步的,觸控面板1131可覆蓋顯示面板1141,當(dāng)觸控面板1131檢測(cè)到在其上或附近的觸摸操作后,傳送給處理器1180以確定觸摸事件的類(lèi)型,隨后處理器1180根據(jù)觸摸事件的類(lèi)型在顯示面板1141上提供相應(yīng)的視覺(jué)輸出。雖然在圖17中,觸控面板1131與顯示面板1141是作為兩個(gè)獨(dú)立的部件來(lái)實(shí)現(xiàn)手機(jī)的輸入和輸入功能,但是在某些實(shí)施例中,可以將觸控面板1131與顯示面板1141集成而實(shí)現(xiàn)手機(jī)的輸入和輸出功倉(cāng)泛。
[0161]手機(jī)還可包括至少一種傳感器1150,比如光傳感器、運(yùn)動(dòng)傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線(xiàn)的明暗來(lái)調(diào)節(jié)顯示面板1141的亮度,接近傳感器可在手機(jī)移動(dòng)到耳邊時(shí),關(guān)閉顯示面板1141和/或背光。作為運(yùn)動(dòng)傳感器的一種,加速計(jì)傳感器可檢測(cè)各個(gè)方向上(一般為三軸)加速度的大小,靜止時(shí)可檢測(cè)出重力的大小及方向,可用于識(shí)別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動(dòng)識(shí)別相關(guān)功能(比如計(jì)步器、敲擊)等;至于手機(jī)還可配置的陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線(xiàn)傳感器等其他傳感器,在此不再贅述。
[0162]音頻電路1160、揚(yáng)聲器1161,傳聲器1162可提供用戶(hù)與手機(jī)之間的音頻接口。音頻電路1160可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號(hào),傳輸?shù)綋P(yáng)聲器1161,由揚(yáng)聲器1161轉(zhuǎn)換為聲音信號(hào)輸出;另一方面,傳聲器1162將收集的聲音信號(hào)轉(zhuǎn)換為電信號(hào),由音頻電路1160接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器1180處理后,經(jīng)RF電路1110以發(fā)送給比如另一手機(jī),或者將音頻數(shù)據(jù)輸出至存儲(chǔ)器1120以便進(jìn)一步處理。
[0163]無(wú)線(xiàn)通信模塊1170包括但不限于無(wú)線(xiàn)保真(wireless fidelity, WiFi, —種短距離無(wú)線(xiàn)傳輸技術(shù))模塊、藍(lán)牙模塊、紅外通信模塊等。手機(jī)通過(guò)無(wú)線(xiàn)通信模塊1170可以幫助用戶(hù)收發(fā)電子郵件、瀏覽網(wǎng)頁(yè)和訪問(wèn)流式媒體等,它為用戶(hù)提供了無(wú)線(xiàn)的寬帶互聯(lián)網(wǎng)訪問(wèn)。雖然圖17示出了無(wú)線(xiàn)通信模塊1170,但是可以理解的是,其并不屬于手機(jī)的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
[0164]處理器1180是手機(jī)的控制中心,利用各種接口和線(xiàn)路連接整個(gè)手機(jī)的各個(gè)部分,通過(guò)運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器1120內(nèi)的程序程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器1120內(nèi)的數(shù)據(jù),執(zhí)行手機(jī)的各種功能和處理數(shù)據(jù),從而對(duì)手機(jī)進(jìn)行整體監(jiān)控??蛇x的,處理器1180可包括一個(gè)或多個(gè)處理單元;優(yōu)選的,處理器1180可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶(hù)界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無(wú)線(xiàn)通信。可以理解的是,上述調(diào)制解調(diào)處理器也可以不集成到處理器1180中。
[0165]手機(jī)還包括給各個(gè)部件供電的電源1190 (比如電池),優(yōu)選的,電源可以通過(guò)電源管理系統(tǒng)與處理器1180邏輯相連,從而通過(guò)電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。
[0166]盡管未示出,手機(jī)還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。
[0167]在本發(fā)明實(shí)施例中,該終端所包括的處理器1180還具有以下功能:用于從腳本引擎接收界面數(shù)據(jù);根據(jù)界面數(shù)據(jù),從腳本引擎獲取與界面數(shù)據(jù)對(duì)應(yīng)的界面元素;根據(jù)獲取的界面元素和界面數(shù)據(jù)繪制界面。
[0168]在一個(gè)實(shí)施例中,處理器1180還具有以下功能:檢測(cè)界面調(diào)整事件;當(dāng)檢測(cè)到界面調(diào)整事件時(shí),向腳本引擎發(fā)送調(diào)整界面的控制信號(hào);接收腳本引擎根據(jù)控制信號(hào)調(diào)整的界面數(shù)據(jù)。
[0169]在一個(gè)實(shí)施例中,界面調(diào)整事件包括:界面元素的創(chuàng)建、界面元素的隱藏、界面元素的刪除、界面元素的移動(dòng)、窗口的縮放、顏色的改變和字體的改變中的至少一項(xiàng)。
[0170]在一個(gè)實(shí)施例中,界面數(shù)據(jù)包括布局?jǐn)?shù)據(jù)和樣式數(shù)據(jù),布局?jǐn)?shù)據(jù)包括界面元素標(biāo)識(shí)、界面元素的位置信息和界面元素的組合關(guān)系信息。
[0171]在一個(gè)實(shí)施例中,樣式數(shù)據(jù)包括顏色、字體、字號(hào)和界面元素是否顯示中的至少一項(xiàng)。
[0172]在一個(gè)實(shí)施例中,界面元素的組合關(guān)系信息包括界面元素的排列順序以及界面元素在層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí)。
[0173]在一個(gè)實(shí)施例中,層級(jí)結(jié)構(gòu)包括:至少一框架、至少一行和至少一界面元素;其中框架包含行、行包含界面元素。
[0174]在一個(gè)實(shí)施例中,層級(jí)結(jié)構(gòu)包括:至少一組,組包含界面元素。
[0175]在一個(gè)實(shí)施例中,位置信息包括:所述界面元素在繪制區(qū)域中的起始坐標(biāo)、高和寬。
[0176]在一個(gè)實(shí)施例中,處理器1180還具有以下功能:用于檢測(cè)針對(duì)所述界面元素的功能觸發(fā)事件;當(dāng)檢測(cè)到所述功能觸發(fā)事件時(shí),根據(jù)所述功能觸發(fā)事件完成與所述功能觸發(fā)事件對(duì)應(yīng)的界面元素的功能。
[0177]以上實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專(zhuān)利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專(zhuān)利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種生成界面的方法,其特征在于,所述方法包括: 腳本引擎讀取界面描述文件,解析所述界面描述文件生成界面數(shù)據(jù),并發(fā)送給主程序; 所述主程序根據(jù)所述界面數(shù)據(jù),從所述腳本引擎獲取與所述界面數(shù)據(jù)對(duì)應(yīng)的界面元素,并根據(jù)獲取的所述界面元素和所述界面數(shù)據(jù)繪制界面。
2.根據(jù)權(quán)利要求1所述的生成界面的方法,其特征在于,所述主程序根據(jù)所述界面數(shù)據(jù),從所述腳本引擎獲取與所述界面數(shù)據(jù)對(duì)應(yīng)的界面元素,并根據(jù)獲取的所述界面元素和所述界面數(shù)據(jù)繪制界面的步驟包括: 所述主程序檢測(cè)界面調(diào)整事件; 當(dāng)所述主程序檢測(cè)到所述界面調(diào)整事件時(shí),向所述腳本引擎發(fā)送調(diào)整界面的控制信號(hào); 所述腳本引擎根據(jù)所述控制信號(hào),對(duì)所述界面數(shù)據(jù)進(jìn)行調(diào)整,并將所述調(diào)整后的界面數(shù)據(jù)發(fā)送給所述主程序; 所述主程序根據(jù)所述調(diào)整后的界面數(shù)據(jù),從所述腳本引擎獲取與所述調(diào)整后的界面數(shù)據(jù)對(duì)應(yīng)的界面元素,并根據(jù)獲取的所述界面元素和所述調(diào)整后的界面數(shù)據(jù)繪制界面。
3.根據(jù)權(quán)利要求2所述的生成界面的方法,其特征在于,所述界面調(diào)整事件包括: 界面元素的創(chuàng)建、界面元素的隱藏、界面元素的刪除、界面元素的移動(dòng)、窗口的縮放、顏色的改變和字體的改變中的至少一項(xiàng)。
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的生成界面的方法,其特征在于,所述腳本引擎讀取界面描述文件,解析所述界面描述文件生成界面數(shù)據(jù),并發(fā)送給主程序的步驟包括: 所述腳本引擎讀取并解析所述界面描述文件,從而獲取界面元素標(biāo)識(shí)、界面元素的組合關(guān)系信息和樣式數(shù)據(jù),所述界面元素的組合關(guān)系信息包括界面元素的排列順序以及所述界面元素在層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí); 所述腳本引擎根據(jù)所述界面元素標(biāo)識(shí)和所述界面元素的組合關(guān)系信息計(jì)算界面元素的位置信息,從而生成布局?jǐn)?shù)據(jù),所述布局?jǐn)?shù)據(jù)包括所述界面元素標(biāo)識(shí)、所述界面元素的位置信息和所述界面元素的組合關(guān)系信息; 所述腳本引擎將包括所述布局?jǐn)?shù)據(jù)和所述樣式數(shù)據(jù)的界面數(shù)據(jù)發(fā)送給所述主程序。
5.根據(jù)權(quán)利要求4所述的生成界面的方法,其特征在于,所述樣式數(shù)據(jù)包括顏色、字體、字號(hào)和界面元素是否顯示中的至少一項(xiàng)。
6.根據(jù)權(quán)利要求4所述的生成界面的方法,其特征在于,所述層級(jí)結(jié)構(gòu)包括:至少一框架、至少一行和至少一界面元素;其中所述框架包含所述行、所述行包含所述界面元素。
7.根據(jù)權(quán)利要求6所述的生成界面的方法,其特征在于,所述層級(jí)結(jié)構(gòu)還包括: 至少一組,所述組包含所述界面元素。
8.根據(jù)權(quán)利要求6所述的生成界面的方法,其特征在于,所述方法還包括: 所述腳本引擎根據(jù)所述界面元素標(biāo)識(shí)獲取所述界面元素的尺寸信息; 所述腳本引擎根據(jù)所述尺寸信息和所述界面元素的組合關(guān)系信息,從所述層級(jí)結(jié)構(gòu)中的第一行開(kāi)始,逐行計(jì)算所述界面元素的位置信息。
9.根據(jù)權(quán)利要求8所述的生成界面的方法,其特征在于,所述位置信息包括: 所述界面元素在繪制區(qū)域中的起始坐標(biāo)、高和寬。
10.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的生成界面的方法,其特征在于,所述方法還包括: 所述主程序檢測(cè)針對(duì)所述界面元素的功能觸發(fā)事件; 當(dāng)所述主程序檢測(cè)到所述功能觸發(fā)事件時(shí),根據(jù)所述功能觸發(fā)事件完成與所述功能觸發(fā)事件對(duì)應(yīng)的界面元素的功能。
11.一種生成界面的系統(tǒng),其特征在于,所述系統(tǒng)包括: 腳本引擎,用于讀取界面描述文件,解析所述界面描述文件生成界面數(shù)據(jù),并發(fā)送給主程序; 主程序,用于根據(jù)所述界面數(shù)據(jù),從所述腳本引擎獲取與所述界面數(shù)據(jù)對(duì)應(yīng)的界面元素,并根據(jù)獲取的所述界面元素和所述界面數(shù)據(jù)繪制界面。
12.根據(jù)權(quán)利要求11所述的生成界面的系統(tǒng),其特征在于,所述主程序包括: 界面調(diào)整事件檢測(cè)模塊,用于檢測(cè)界面調(diào)整事件; 控制信號(hào)發(fā)送模塊,用于當(dāng)測(cè)到所述界面調(diào)整事件時(shí),向所述腳本引擎發(fā)送調(diào)整界面的控制信號(hào); 界面繪制模塊,用于從所述腳本引擎接收調(diào)整后的界面數(shù)據(jù),根據(jù)所述調(diào)整后的界面數(shù)據(jù),從所述腳本引擎獲取與所述調(diào)整后的界面數(shù)據(jù)對(duì)應(yīng)的界面元素,并根據(jù)獲取的所述界面元素和所述調(diào)整后的界面數(shù)據(jù)繪制界面。
13.根據(jù)權(quán)利要求12所述的生成界面的系統(tǒng),其特征在于,所述界面調(diào)整事件包括: 界面元素的創(chuàng)建、界面元素的隱藏、界面元素的刪除、界面元素的移動(dòng)、窗口的縮放、顏色的改變和字體的改變中的至少一項(xiàng)。
14.根據(jù)權(quán)利要求11-13任一項(xiàng)所述的生成界面的系統(tǒng),其特征在于,所述腳本引擎包括: 界面描述文件解析模塊,用于讀取并解析所述界面描述文件,從而獲取界面元素標(biāo)識(shí)、界面元素的組合關(guān)系信息和樣式數(shù)據(jù),所述界面元素的組合關(guān)系信息包括界面元素的排列順序以及所述界面元素在層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí); 布局?jǐn)?shù)據(jù)生成模塊,用于根據(jù)所述界面元素標(biāo)識(shí)和所述界面元素的組合關(guān)系信息計(jì)算界面元素的位置信息,從而生成布局?jǐn)?shù)據(jù),所述布局?jǐn)?shù)據(jù)包括所述界面元素標(biāo)識(shí)、所述界面元素的位置信息和所述界面元素的組合關(guān)系信息; 界面數(shù)據(jù)發(fā)送模塊,用于將包括所述布局?jǐn)?shù)據(jù)和所述樣式數(shù)據(jù)的界面數(shù)據(jù)發(fā)送給所述主程序。
15.根據(jù)權(quán)利要求14所述的生成界面的系統(tǒng),其特征在于,所述樣式數(shù)據(jù)包括顏色、字體、字號(hào)和界面元素是否顯示中的至少一項(xiàng)。
16.根據(jù)權(quán)利要求14所述的生成界面的系統(tǒng),其特征在于,所述層級(jí)結(jié)構(gòu)包括:至少一框架、至少一行和至少一界面元素;其中所述框架包含所述行、所述行包含所述界面元素。
17.根據(jù)權(quán)利要求16所述的生成界面的系統(tǒng),其特征在于,所述層級(jí)結(jié)構(gòu)還包括: 至少一組,所述組包含所述界面元素。
18.根據(jù)權(quán)利要求16所述的生成界面的系統(tǒng),其特征在于,所述布局?jǐn)?shù)據(jù)生成模塊還包括: 尺寸信息獲取模塊,用于根據(jù)所述界面元素標(biāo)識(shí)獲取所述界面元素的尺寸信息; 位置信息計(jì)算模塊,用于根據(jù)所述尺寸信息和所述界面元素的組合關(guān)系信息,從所述層級(jí)結(jié)構(gòu)中的第一行開(kāi)始,逐行計(jì)算所述界面元素的位置信息。
19.根據(jù)權(quán)利要求18所述的生成界面的系統(tǒng),其特征在于,所述位置信息包括: 所述界面元素在繪制區(qū)域中的起始坐標(biāo)、高和寬。
20.根據(jù)權(quán)利要求11-13任一項(xiàng)所述的生成界面的系統(tǒng),其特征在于,所述主程序還包括: 功能觸發(fā)事件檢測(cè)模塊,用于檢測(cè)針對(duì)所述界面元素的功能觸發(fā)事件; 功能實(shí)現(xiàn)模塊,用于當(dāng)檢測(cè)到所述功能觸發(fā)事件時(shí),根據(jù)所述功能觸發(fā)事件完成與所述功能觸發(fā)事件對(duì)應(yīng)的界面元素的功能。
21.一種生成界面的方法,其特征在于,所述方法包括: 從腳本引擎接收界面數(shù)據(jù); 根據(jù)所述界面數(shù)據(jù),從腳本引擎獲取與所述界面數(shù)據(jù)對(duì)應(yīng)的界面元素; 根據(jù)獲取的所述界面元素和所述界面數(shù)據(jù)繪制界面。
22.根據(jù)權(quán)利要求21所述的生成界面的方法,其特征在于,所述從腳本引擎接收界面數(shù)據(jù)的步驟包括: 檢測(cè)界面調(diào)整事件; 當(dāng)檢測(cè)到所述界面調(diào)整事件時(shí),向所述腳本引擎發(fā)送調(diào)整界面的控制信號(hào); 接收所述腳本引擎根據(jù)所述控制信號(hào)調(diào)整的界面數(shù)據(jù)。
23.根據(jù)權(quán)利要求22所述的生成界面的方法,其特征在于,所述界面調(diào)整事件包括: 界面元素的創(chuàng)建、界面元素的隱藏、界面元素的刪除、界面元素的移動(dòng)、窗口的縮放、顏色的改變和字體的改變中的至少一項(xiàng)。
24.根據(jù)權(quán)利要求21-23任一項(xiàng)所述的生成界面的方法,其特征在于,所述界面數(shù)據(jù)包括布局?jǐn)?shù)據(jù)和樣式數(shù)據(jù),所述布局?jǐn)?shù)據(jù)包括所述界面元素標(biāo)識(shí)、所述界面元素的位置信息和所述界面元素的組合關(guān)系信息。
25.根據(jù)權(quán)利要求24所述的生成界面的方法,其特征在于,所述樣式數(shù)據(jù)包括顏色、字體、字號(hào)和界面元素是否顯示中的至少一項(xiàng)。
26.根據(jù)權(quán)利要求24所述的生成界面的方法,其特征在于,所述界面元素的組合關(guān)系信息包括界面元素的排列順序以及所述界面元素在層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí)。
27.根據(jù)權(quán)利要求26所述的生成界面的方法,其特征在于,所述層級(jí)結(jié)構(gòu)包括:至少一框架、至少一行和至少一界面元素;其中所述框架包含所述行、所述行包含所述界面元素。
28.根據(jù)權(quán)利要求27所述的生成界面的方法,其特征在于,所述層級(jí)結(jié)構(gòu)還包括: 至少一組,所述組包含所述界面元素。
29.根據(jù)權(quán)利要求27所述的生成界面的方法,其特征在于,所述位置信息包括: 所述界面元素在繪制區(qū)域中的起始坐標(biāo)、高和寬。
30.根據(jù)權(quán)利要求21-23任一項(xiàng)所述的生成界面的方法,其特征在于,所述方法還包括: 檢測(cè)針對(duì)所述界面元素的功能觸發(fā)事件; 當(dāng)檢測(cè)到所述功能觸發(fā)事件時(shí),根據(jù)所述功能觸發(fā)事件完成與所述功能觸發(fā)事件對(duì)應(yīng)的界面元素的功能。
31.一種生成界面的系統(tǒng),其特征在于,所述系統(tǒng)包括: 界面數(shù)據(jù)獲取模塊,用于從腳本引擎接收界面數(shù)據(jù); 界面元素獲取模塊,用于從腳本引擎獲取與所述界面數(shù)據(jù)對(duì)應(yīng)的界面元素; 繪制模塊,用于根據(jù)獲取的所述界面元素和所述界面數(shù)據(jù)繪制界面。
32.根據(jù)權(quán)利要求31所述的生成界面的系統(tǒng),其特征在于,所述界面數(shù)據(jù)獲取模塊包括: 事件檢測(cè)模塊,用于檢測(cè)界面調(diào)整事件; 信號(hào)發(fā)送模塊,用于當(dāng)檢測(cè)到所述界面調(diào)整事件時(shí),向所述腳本引擎發(fā)送調(diào)整界面的控制信號(hào); 數(shù)據(jù)接收模塊,用于接收所述腳本引擎根據(jù)所述控制信號(hào)調(diào)整的界面數(shù)據(jù)。
33.根據(jù)權(quán)利要求32所述的生成界面的系統(tǒng),其特征在于,所述界面調(diào)整事件包括: 界面元素的創(chuàng)建、界面元素的隱藏、界面元素的刪除、界面元素的移動(dòng)、窗口的縮放、顏色的改變和字體的改變中的至少一項(xiàng)。
34.根據(jù)權(quán)利要求31-33任一項(xiàng)所述的生成界面的系統(tǒng),其特征在于,所述界面數(shù)據(jù)包括布局?jǐn)?shù)據(jù)和樣式數(shù)據(jù),所述布局?jǐn)?shù)據(jù)包括所述界面元素標(biāo)識(shí)、所述界面元素的位置信息和所述界面元素的組合關(guān)系信息。
35.根據(jù)權(quán)利要求34所述的生成界面的系統(tǒng),其特征在于,所述樣式數(shù)據(jù)包括顏色、字體、字號(hào)和界面元素是否顯示中的至少一項(xiàng)。
36.根據(jù)權(quán)利要求34所述的生成界面的系統(tǒng),其特征在于,所述界面元素的組合關(guān)系信息包括界面元素的排列順序以及所述界面元素在層級(jí)結(jié)構(gòu)中的位置標(biāo)識(shí)。
37.根據(jù)權(quán)利要求36所述的生成界面的系統(tǒng),其特征在于,所述層級(jí)結(jié)構(gòu)包括:至少一框架、至少一行和至少一界面元素;其中所述框架包含所述行、所述行包含所述界面元素。
38.根據(jù)權(quán)利要求37所述的生成界面的系統(tǒng),其特征在于,所述層級(jí)結(jié)構(gòu)還包括: 至少一組,所述組包含所述界面元素。
39.根據(jù)權(quán)利要求37所述的生成界面的系統(tǒng),其特征在于,所述位置信息包括: 所述界面元素在繪制區(qū)域中的起始坐標(biāo)、高和寬。
40.根據(jù)權(quán)利要求31-33任一項(xiàng)所述的生成界面的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 功能觸發(fā)事件檢測(cè)模塊,用于檢測(cè)針對(duì)所述界面元素的功能觸發(fā)事件; 功能實(shí)現(xiàn)模塊,用于當(dāng)檢測(cè)到所述功能觸發(fā)事件時(shí),根據(jù)所述功能觸發(fā)事件完成與所述功能觸發(fā)事件對(duì)應(yīng)的界面元素的功能。
【文檔編號(hào)】G06F9/44GK104252356SQ201310271599
【公開(kāi)日】2014年12月31日 申請(qǐng)日期:2013年6月28日 優(yōu)先權(quán)日:2013年6月28日
【發(fā)明者】康亮 申請(qǐng)人:騰訊科技(深圳)有限公司