本發(fā)明屬于,具體地,涉及基于樣式表的換膚實(shí)現(xiàn)方法及系統(tǒng)。更具體是一種基于樣式表的即時(shí)高效換膚實(shí)現(xiàn)方法。
背景技術(shù):
1、隨著智能手機(jī)和移動(dòng)互聯(lián)網(wǎng)的飛速發(fā)展,用戶對手機(jī)應(yīng)用程序的需求日益?zhèn)€性化和多樣化。應(yīng)用程序換膚技術(shù)應(yīng)運(yùn)而生。換膚技術(shù)允許用戶根據(jù)自己的喜好和需求,自由選擇應(yīng)用程序的主題、色彩和樣式等,從而實(shí)現(xiàn)個(gè)性化的界面體驗(yàn),具有良好的商業(yè)價(jià)值。
2、目前,應(yīng)用程序換膚技術(shù)在實(shí)現(xiàn)過程中也面臨著不少技術(shù)難點(diǎn)。
3、首先,資源id的管理是一個(gè)重要挑戰(zhàn)。為了確保換膚過程中業(yè)務(wù)代碼無需修改,新皮膚和舊皮膚中的資源id需要保持一致。同時(shí),在逐步換膚的過程中,新舊資源需要并存,業(yè)務(wù)代碼需要能夠根據(jù)不同的情況使用相應(yīng)的資源。
4、其次,遷移邏輯的管理也是一大難題。為了實(shí)現(xiàn)逐步換膚、老皮膚資源刪除以及皮膚升級和降級等功能,業(yè)務(wù)代碼需要處理復(fù)雜的邏輯切換,并確保這些切換不會(huì)影響到應(yīng)用程序的穩(wěn)定性和用戶體驗(yàn)。
5、專利文獻(xiàn)cn107133038a公開了一種應(yīng)用程序換膚的方法及其裝置,該方案包括:接收用戶輸入指令,并獲得用戶輸入指令對應(yīng)的目標(biāo)顏色;根據(jù)所述目標(biāo)顏色以及一張可擴(kuò)展標(biāo)記語言表,對構(gòu)成界面的通用組件的一套單一顏色圖片進(jìn)行顏色更換;將所述顏色更換后的構(gòu)成界面的通用組件進(jìn)行顯示,實(shí)現(xiàn)所述應(yīng)用程序的換膚。本申請實(shí)施例減少設(shè)計(jì)工作量,且應(yīng)用程序占用較少的存儲(chǔ)空間。
6、換而言之,雖然現(xiàn)有技術(shù)中,申請?zhí)枮閏n201710293906.0的中國發(fā)明專利公開了“應(yīng)用程序換膚方法”,能夠支持應(yīng)用程序換膚,但是需要用戶去選擇色值進(jìn)行換膚,對用戶來說這具有一定挑戰(zhàn)性,并且該技術(shù)方案如果應(yīng)用到比較復(fù)雜的場景時(shí),可能會(huì)導(dǎo)致?lián)Q膚過程中出現(xiàn)卡頓。此問題亟需解決。
技術(shù)實(shí)現(xiàn)思路
1、針對現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的是提供一種基于樣式表的換膚實(shí)現(xiàn)方法及系統(tǒng)。
2、根據(jù)本發(fā)明提供的一種基于樣式表的換膚實(shí)現(xiàn)方法,包括:
3、步驟s1:制作皮膚色值表;
4、步驟s2:根據(jù)所述皮膚色值表,編寫應(yīng)用程序;
5、步驟s3:通過所述應(yīng)用程序選擇作為皮膚標(biāo)識(shí),讀取所述皮膚色值表,令目標(biāo)色值替換當(dāng)前內(nèi)存中的所述皮膚標(biāo)識(shí)實(shí)際對應(yīng)的色值;所述皮膚標(biāo)識(shí),即變量名;
6、步驟s4:令目標(biāo)色值替換當(dāng)前樣式表中的變量,得到新樣式皮膚;
7、步驟s5:令所述新樣式皮膚到目標(biāo)窗口。
8、優(yōu)選地,在所述步驟s1中,所述皮膚色值表用于記錄皮膚的變量名和對應(yīng)色值;令所述皮膚色值表內(nèi)置于安裝包內(nèi);所述安裝包用于發(fā)送給客戶端;
9、在所述步驟s2中,所述應(yīng)用程序的顏色對應(yīng)所述皮膚色值表相應(yīng)顏色的變量名;
10、在所述步驟s2中,令所述應(yīng)用程序的所有獨(dú)立窗口各為一個(gè)獨(dú)立模塊;所述獨(dú)立模塊具有標(biāo)識(shí)字符串;所述標(biāo)識(shí)字符串,用于對應(yīng)樣式表。
11、優(yōu)選地,在所述步驟s4中,包括:
12、步驟s4.1:根據(jù)皮膚標(biāo)識(shí),選擇相應(yīng)的皮膚色值表;
13、步驟s4.2:遍歷所述皮膚色值表的所有色值;令所述色值逐個(gè)替換樣式表中的每個(gè)變量;重新執(zhí)行步驟s4.2,直到遍歷完畢。
14、優(yōu)選地,在所述步驟s5中,加載所述皮膚文件到內(nèi)存,根據(jù)樣式表文件和模塊的對應(yīng)關(guān)系,派發(fā)所述應(yīng)用程序的模塊頂層對象,進(jìn)而由所述頂層對象逐級派發(fā)給子對象,呈現(xiàn)新樣式皮膚;
15、所述樣式表文件,即ui界面樣式表;
16、所述樣式表文件和模塊的對應(yīng)關(guān)系,即所述應(yīng)用程序規(guī)定的所述樣式表文件和模塊的對象關(guān)系。
17、根據(jù)本發(fā)明提供的一種基于樣式表的換膚實(shí)現(xiàn)系統(tǒng),包括:
18、模塊m1:制作皮膚色值表;
19、模塊m2:根據(jù)所述皮膚色值表,編寫應(yīng)用程序;
20、模塊m3:通過所述應(yīng)用程序選擇作為皮膚標(biāo)識(shí),讀取所述皮膚色值表,令目標(biāo)色值替換當(dāng)前內(nèi)存中的所述皮膚標(biāo)識(shí)實(shí)際對應(yīng)的色值;所述皮膚標(biāo)識(shí),即變量名;
21、模塊m4:令目標(biāo)色值替換當(dāng)前樣式表中的變量,得到新樣式皮膚;
22、模塊m5:令所述新樣式皮膚到目標(biāo)窗口。
23、優(yōu)選地,在所述模塊m1中,所述皮膚色值表用于記錄皮膚的變量名和對應(yīng)色值;令所述皮膚色值表內(nèi)置于安裝包內(nèi);所述安裝包用于發(fā)送給客戶端;
24、在所述模塊m2中,所述應(yīng)用程序的顏色對應(yīng)所述皮膚色值表相應(yīng)顏色的變量名;
25、在所述模塊m2中,令所述應(yīng)用程序的所有獨(dú)立窗口各為一個(gè)獨(dú)立模塊;所述獨(dú)立模塊具有標(biāo)識(shí)字符串;所述標(biāo)識(shí)字符串,用于對應(yīng)樣式表。
26、優(yōu)選地,在所述模塊m4中,包括:
27、模塊m4.1:根據(jù)皮膚標(biāo)識(shí),選擇相應(yīng)的皮膚色值表;
28、模塊m4.2:遍歷所述皮膚色值表的所有色值;令所述色值逐個(gè)替換樣式表中的每個(gè)變量;重新觸發(fā)模塊m4.2工作,直到遍歷完畢。
29、優(yōu)選地,在所述模塊m5中,加載所述皮膚文件到內(nèi)存,根據(jù)樣式表文件和模塊的對應(yīng)關(guān)系,派發(fā)所述應(yīng)用程序的模塊頂層對象,進(jìn)而由所述頂層對象逐級派發(fā)給子對象,呈現(xiàn)新樣式皮膚;
30、所述樣式表文件,即ui界面樣式表;
31、所述樣式表文件和模塊的對應(yīng)關(guān)系,即所述應(yīng)用程序規(guī)定的所述樣式表文件和模塊的對象關(guān)系。
32、根據(jù)本發(fā)明提供的一種存儲(chǔ)有計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)所述的基于樣式表的換膚實(shí)現(xiàn)方法的步驟。
33、根據(jù)本發(fā)明提供的一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)所述的基于樣式表的換膚實(shí)現(xiàn)方法的步驟。
34、與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:
35、1、本發(fā)明通過采用模塊化樣式表的方法,解決了換膚時(shí)界面卡頓的問題,并且提高了換膚效率;所述模塊化樣式表指在程序編寫時(shí),人為把程序功能分為多個(gè)模塊,提供樣式表時(shí)針對不同模塊進(jìn)行編寫,益處是所述樣式表在進(jìn)行變量替換時(shí)能夠分模塊進(jìn)行,并且樣式表文件能夠按對應(yīng)關(guān)系定向分發(fā)到指定模塊,提高程序換膚效率。
36、2、本發(fā)明通過采用色值表的形式,把軟件中的色值進(jìn)行統(tǒng)一管理,減少了添加新皮膚時(shí)的時(shí)間成本和人力成本。
37、3、本發(fā)明通過采用網(wǎng)絡(luò)傳輸皮膚文件的方式,解決了添加皮膚時(shí)需要發(fā)版本的問題。
1.一種基于樣式表的換膚實(shí)現(xiàn)方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的基于樣式表的換膚實(shí)現(xiàn)方法,其特征在于,在所述步驟s1中,所述皮膚色值表用于記錄皮膚的變量名和對應(yīng)色值;令所述皮膚色值表內(nèi)置于安裝包內(nèi);所述安裝包用于發(fā)送給客戶端;
3.根據(jù)權(quán)利要求2所述的基于樣式表的換膚實(shí)現(xiàn)方法,其特征在于,在所述步驟s4中,包括:
4.根據(jù)權(quán)利要求3所述的基于樣式表的換膚實(shí)現(xiàn)方法,其特征在于,在所述步驟s5中,加載所述皮膚文件到內(nèi)存,根據(jù)樣式表文件和模塊的對應(yīng)關(guān)系,派發(fā)所述應(yīng)用程序的模塊頂層對象,進(jìn)而由所述頂層對象逐級派發(fā)給子對象,呈現(xiàn)新樣式皮膚;
5.一種基于樣式表的換膚實(shí)現(xiàn)系統(tǒng),其特征在于,包括:
6.根據(jù)權(quán)利要求5所述的基于樣式表的換膚實(shí)現(xiàn)系統(tǒng),其特征在于,在所述模塊m1中,所述皮膚色值表用于記錄皮膚的變量名和對應(yīng)色值;令所述皮膚色值表內(nèi)置于安裝包內(nèi);所述安裝包用于發(fā)送給客戶端;
7.根據(jù)權(quán)利要求6所述的基于樣式表的換膚實(shí)現(xiàn)系統(tǒng),其特征在于,在所述模塊m4中,包括:
8.根據(jù)權(quán)利要求7所述的基于樣式表的換膚實(shí)現(xiàn)系統(tǒng),其特征在于,在所述模塊m5中,加載所述皮膚文件到內(nèi)存,根據(jù)樣式表文件和模塊的對應(yīng)關(guān)系,派發(fā)所述應(yīng)用程序的模塊頂層對象,進(jìn)而由所述頂層對象逐級派發(fā)給子對象,呈現(xiàn)新樣式皮膚;
9.一種存儲(chǔ)有計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至4中任一項(xiàng)所述的基于樣式表的換膚實(shí)現(xiàn)方法的步驟。
10.一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至4中任一項(xiàng)所述的基于樣式表的換膚實(shí)現(xiàn)方法的步驟。