本發(fā)明涉及安卓系統(tǒng)技術(shù)領(lǐng)域,具體涉及一種提升安卓應(yīng)用的布局文件編寫效率的方法及系統(tǒng)。
背景技術(shù):
安卓應(yīng)用的布局文件是安卓應(yīng)用程序頁面的配置文件,應(yīng)用程序頁面上可以使用一個(gè)或多個(gè)布局文件來配置頁面中的元素如何顯示。安卓系統(tǒng)基礎(chǔ)布局方式有幀布局、線性布局和關(guān)聯(lián)布局三種。
在安卓系統(tǒng)布局中,每一個(gè)元素都必須指定寬度屬性和高度屬性,有的布局方式的元素還有特殊屬性,如線性布局的元素還須指定方向?qū)傩?,無論該元素的寬度屬性、高度屬性和方向?qū)傩允枪潭〝?shù)值還是動態(tài)可變的。
當(dāng)布局中元素?cái)?shù)量較少時(shí),開發(fā)者編寫的代碼量較少;當(dāng)布局中元素?cái)?shù)量顯著增多時(shí),開發(fā)者為每一個(gè)元素編寫屬性的代碼將十分龐大,嚴(yán)重拖慢編寫速度。
技術(shù)實(shí)現(xiàn)要素:
針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種提升安卓應(yīng)用的布局文件編寫效率的方法及系統(tǒng),可極大縮減編寫安卓應(yīng)用的布局文件的代碼量,有效提升安卓應(yīng)用的布局文件的編寫效率。
為達(dá)到以上目的,本發(fā)明采取的技術(shù)方案是:一種提升安卓應(yīng)用的布局文件編寫效率的方法,所述布局文件用于配置安卓應(yīng)用頁面中每個(gè)元素的屬性:
創(chuàng)建一個(gè)安卓應(yīng)用的布局文件的樣式引用表,所述樣式引用表用于保存表示安卓應(yīng)用頁面中元素的屬性的樣式代號及所述樣式代號對應(yīng)的實(shí)際代碼;
將所述樣式引用表保存進(jìn)所述安卓應(yīng)用的資源目錄中;
使用所述樣式代號編寫所述安卓應(yīng)用的布局文件中各元素的屬性的代碼,并設(shè)置所述元素的屬性的代碼引用所述樣式引用表中的樣式代號;
在所述安卓應(yīng)用的布局文件執(zhí)行時(shí),將所述樣式代號替換為所述樣式引用表中所述樣式代號對應(yīng)的實(shí)際代碼。
在上述技術(shù)方案的基礎(chǔ)上,所述元素的屬性包括寬度屬性、高度屬性和權(quán)重屬性。
在上述技術(shù)方案的基礎(chǔ)上,所述樣式引用表還包括所述樣式代號適用的布局方式。
在上述技術(shù)方案的基礎(chǔ)上,所述布局方式包括幀布局、線性布局和關(guān)聯(lián)布局。
在上述技術(shù)方案的基礎(chǔ)上,采用線性布局方式的元素的屬性還包括方向?qū)傩浴?/p>
本發(fā)明還公開了一種提升安卓應(yīng)用的布局文件編寫效率的系統(tǒng),所述布局文件用于配置安卓應(yīng)用頁面中每個(gè)元素的屬性,所述提升安卓應(yīng)用的布局文件編寫效率的系統(tǒng)包括:
樣式表保存模塊,所述樣式表保存模塊用于獲取用戶創(chuàng)建的安卓應(yīng)用的布局文件的樣式引用表并將所述樣式引用表保存進(jìn)所述安卓應(yīng)用的資源目錄中;所述樣式引用表用于保存表示安卓應(yīng)用頁面中元素的屬性的樣式代號及所述樣式代號對應(yīng)的實(shí)際代碼;
代碼替換模塊,所述代碼替換模塊用于在所述安卓應(yīng)用的布局文件執(zhí)行時(shí),將所述樣式代號替換為所述樣式引用表中所述樣式代號對應(yīng)的實(shí)際代碼。
在上述技術(shù)方案的基礎(chǔ)上,所述元素的屬性包括寬度屬性、高度屬性和權(quán)重屬性。
在上述技術(shù)方案的基礎(chǔ)上,所述樣式引用表還包括所述樣式代號適用的布局方式。
在上述技術(shù)方案的基礎(chǔ)上,所述布局方式包括幀布局、線性布局和關(guān)聯(lián)布局。
在上述技術(shù)方案的基礎(chǔ)上,采用線性布局方式的元素的屬性還包括方向?qū)傩浴?/p>
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:
本發(fā)明先創(chuàng)建一個(gè)安卓應(yīng)用的布局文件的樣式引用表,將樣式引用表保存進(jìn)安卓應(yīng)用的資源目錄中;再使用樣式代號編寫安卓應(yīng)用的布局文件,并設(shè)置元素的屬性的代碼引用樣式引用表中的樣式代號;在安卓應(yīng)用的布局文件執(zhí)行時(shí),將樣式代號替換為樣式引用表中樣式代號對應(yīng)的實(shí)際代碼。對于安卓應(yīng)用的布局文件中的一個(gè)元素可以用一兩行代碼實(shí)現(xiàn)原來四五行代碼的功能,特別是布局文件中的元素較多時(shí),可極大縮減編寫安卓應(yīng)用的布局文件的代碼量,有效提升安卓應(yīng)用的布局文件的編寫效率。
附圖說明
圖1為本發(fā)明實(shí)施例中提升安卓應(yīng)用的布局文件編寫效率的方法的流程示意圖;
圖2為本發(fā)明實(shí)施例中提升安卓應(yīng)用的布局文件編寫效率的系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
以下結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)說明。
參見圖1所示,本發(fā)明實(shí)施例提供一種提升安卓應(yīng)用的布局文件編寫效率的方法,布局文件用于配置安卓應(yīng)用頁面中每個(gè)元素的屬性:
s1,創(chuàng)建一個(gè)安卓應(yīng)用的布局文件的樣式引用表,樣式引用表用于保存表示安卓應(yīng)用頁面中元素的屬性的樣式代號及樣式代號對應(yīng)的實(shí)際代碼;
樣式引用表為一個(gè)styles.xml文件styles.xml,如下表:
表1樣式引用表
s2,將樣式引用表保存進(jìn)安卓應(yīng)用的資源目錄中;
s3,使用樣式代號編寫安卓應(yīng)用的布局文件中各元素的屬性的代碼,并設(shè)置元素的屬性的代碼引用所述樣式引用表中的樣式代號;
例如,在幀布局中,使用寬度屬性(android:layout_width)、高度屬性(android:layout_height)和權(quán)重屬性(android:layout_weight)三條重要屬性,其中寬度屬性和高度屬性的動態(tài)屬性為match_parent或wrap_content。
在此使用字符“m”替代“match_parent",使用字符“w”替代wrap_content;
使用字符的排列順序替代android:layout_width和android:layout_height,即,第一個(gè)字符指代layout_width屬性,第二個(gè)字符指代layout_height屬性
假設(shè)該元素的布局的實(shí)際代碼為:
<framelayout
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
則按照上述規(guī)則,可以簡寫為
<framelayout
style="@style/mw"/>
其中,mw為樣式代號,“mw”第一個(gè)字符m指代android:layout_width屬性值為match_parent,第二個(gè)字符w指代android:layout_height屬性值為wrap_content。style="@style/樣式代號”表示引用樣式引用表中的樣式代號。
另外,如果另一個(gè)元素的布局需要指定權(quán)重屬性,則在mw后附加第三個(gè)字符w,指代android:layout_weight="1"
即樣式代號mww的實(shí)際代碼是:
另外,如果采用線性布局方式,線性布局須設(shè)置元素的方向?qū)傩浴>€性布局可以使用android:orientation屬性指定布局內(nèi)部元素排列的方向,android:orientation="vertical"表示該線性布局內(nèi)部方向是縱向,android:orientation="horizontal"表示該線性布局內(nèi)部方向是橫向。
因此,在mww后附加第四個(gè)字符.v,指代android:orientation="vertical";或在mww后附加第四個(gè)字符.h,指代android:orientation="horizontal"。
即樣式代號mww.v的實(shí)際代碼是:
s4,在安卓應(yīng)用的布局文件執(zhí)行時(shí),將樣式代號替換為樣式引用表中樣式代號對應(yīng)的實(shí)際代碼。
元素的屬性包括寬度屬性、高度屬性和權(quán)重屬性。樣式引用表還包括樣式代號適用的布局方式。布局方式包括幀布局、線性布局和關(guān)聯(lián)布局。采用線性布局方式的元素的屬性還包括方向?qū)傩浴?/p>
本發(fā)明實(shí)施例先創(chuàng)建一個(gè)安卓應(yīng)用的布局文件的樣式引用表,將樣式引用表保存進(jìn)安卓應(yīng)用的資源目錄中;再使用樣式代號編寫安卓應(yīng)用的布局文件,并設(shè)置樣式代號與樣式引用表的引用關(guān)系;在安卓應(yīng)用的布局文件執(zhí)行時(shí),將樣式代號替換為樣式引用表中樣式代號對應(yīng)的實(shí)際代碼。對于安卓應(yīng)用的布局文件中的一個(gè)元素可以用一兩行代碼實(shí)現(xiàn)原來四五行代碼的功能,特別是布局文件中的元素較多時(shí),可極大縮減編寫安卓應(yīng)用的布局文件的代碼量,有效提升安卓應(yīng)用的布局文件的編寫效率。
參見圖2所示,本發(fā)明實(shí)施例還提供一種提升安卓應(yīng)用的布局文件編寫效率的系統(tǒng),布局文件用于配置安卓應(yīng)用頁面中每個(gè)元素的屬性,提升安卓應(yīng)用的布局文件編寫效率的系統(tǒng)包括:
樣式表保存模塊,樣式表保存模塊用于獲取用戶創(chuàng)建的安卓應(yīng)用的布局文件的樣式引用表并將樣式引用表保存進(jìn)安卓應(yīng)用的資源目錄中;樣式引用表用于保存表示安卓應(yīng)用頁面中元素的屬性的樣式代號及所述樣式代號對應(yīng)的實(shí)際代碼;
代碼替換模塊,代碼替換模塊用于在安卓應(yīng)用的布局文件執(zhí)行時(shí),將樣式代號替換為樣式引用表中樣式代號對應(yīng)的實(shí)際代碼。
元素的屬性包括寬度屬性、高度屬性和權(quán)重屬性。樣式引用表還包括樣式代號適用的布局方式。布局方式包括幀布局、線性布局和關(guān)聯(lián)布局。采用線性布局方式的元素的屬性還包括方向?qū)傩浴?/p>
本發(fā)明采用樣式表保存模塊和代碼替換模塊,實(shí)現(xiàn)將用戶創(chuàng)建的樣式引用表保存進(jìn)安卓應(yīng)用的資源目錄中,再使用樣式引用表中的樣式代號編寫安卓應(yīng)用的布局文件;在安卓應(yīng)用的布局文件執(zhí)行時(shí),將樣式代號替換為樣式引用表中樣式代號對應(yīng)的實(shí)際代碼。對于安卓應(yīng)用的布局文件中的一個(gè)元素可以用一兩行代碼實(shí)現(xiàn)原來四五行代碼的功能,特別是布局文件中的元素較多時(shí),可極大縮減編寫安卓應(yīng)用的布局文件的代碼量,有效提升安卓應(yīng)用的布局文件的編寫效率。
本發(fā)明不局限于上述實(shí)施方式,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也視為本發(fā)明的保護(hù)范圍之內(nèi)。本說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。