目的:為了加強用戶體驗,增強品牌效應,使我們的產(chǎn)品有自己獨特的風格,主題的定制將會是必然趨勢……然而Android原生系統(tǒng)是不支持主題定制的,所以如何來定制主題,如何做得更好,需要大家集思廣益……策略:將介紹兩種定制主題的機制:1.根據(jù)Android Configuration Qualifier機制,加入我們自己的JRDTheme定制。2.用主題包的形式,根據(jù)用戶選擇不同的主題,而加載不同主題包中的資源。基本原理:首先介紹方式一:Android Configuration QualifierAndroid 系統(tǒng)為一個項目提供了多套可供選擇的資源,通過命名特殊的資源文件夾來區(qū)別它們。系統(tǒng)在運行的時候,根據(jù)設備的當前配置為每個應用加載合適的資源。這些不同的資源都是放在每個應用的res/目錄下面的,特殊的命名方式是<resources_name>-<config_qualifier>:<resources_name>: 資源文件夾的名字,與默認資源文件夾保持一致<config_qualifier>: 根據(jù)設備不同配置,需要使用的資源文件夾名字Android系統(tǒng)根據(jù)優(yōu)先級的先后順序已經(jīng)支持多種Configuration Qualifier,如圖1:
?
如何添加 Jrd Theme ResourcesJrdTheme 的核心策略是當我們設定了不同的主題后,會自動的替換我們想要替換的資源(Framework&App)。具體步驟如下:1. 工程師從UE哪里獲得我們想要改變的主題資源,2.把這些資源放到對應模塊的res/目錄下,以Contacts模塊為例,假如我們想要定制drawable、color、layout。原來在Contacts模塊中默認的資源目錄如下:res/layout/main.xmlinfo.xmldrawable/icon.pngvalues/colors.xml定制后的資源目錄如下:res/layout/main.xmlinfo.xmllayout-jrdthemexxx/main.xmlinfo.xmldrawable/icon.pngdrawable-jrdthemexxx/icon.pngvalues/colors.xmlvalues-jrdthemexxx/colors.xmlNotes: jrdthemexxx 是其中一個 主題的 Qualifier,如果有多個主題,那么將會有多個jrdthemexxx存在。3.與原來一樣編譯這些模塊,push到手機中即可。這只是一個guide ,具體實現(xiàn)還要細化…… 目前在diablo、beetle上面已經(jīng)用這種方式實現(xiàn)了……我在smartiii上嘗試過,機制沒問題,但是改動的范圍太大了,比較麻煩。
方式二:
核心思想:系統(tǒng)中有多套主題資源包,并且應用可以用相同的資源ID來訪問不同資源包中對應的資源。 Android原生系統(tǒng)的資源訪問流程 對應用來說,資源訪問主要有下面三種方式:第一、比較普遍的方式是使用xml定義,并且通過AAPT工具生成一個R文件,列出資源的索引來讓Android系統(tǒng)自己去遍歷整個資源樹的方式來訪問。第二、通過Resources接口來訪問,使用Resources類的getDrawable、getString等接口來獲取資源。第三、通過AstManager類的接口去訪問,使用這個類的open方法來返回一個InputStream對象得到資源。其實這三個訪問方式只是Android資源訪問中整個流程中在不同層次對外提供的三個接口,到底層的實現(xiàn)都是殊途同歸的。因此我們實際上需要修改的部分主干是在訪問資源具體路徑前,按照當前系統(tǒng)主題設置訪問不同資源APK下的文件即是把原生Android中資源ID和資源文件路徑之間一對一的關系改為一對多的關系。例子如下:如果原有資源ID和資源文件路徑關系為:R.drawable.image01 = 0x7F020001通過系統(tǒng)的資源查找之后找到文件路徑為 /system/app/frameworks-res.apk下的res/drawable_hdpi/icon.png在AstManager native中去讀取資源并上傳。那么我們需要做的是在傳入路徑去讀取資源時把文件路徑替換為/data/app/SystemTheme01.apk下的res/drawable_hdpi/icon.png
??
?
?
本文發(fā)布于:2023-02-28 20:11:00,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/167766098678158.html
版權聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請勿用于商業(yè)和其他非法用途。如果侵犯了您的權益請與我們聯(lián)系,我們將在24小時內(nèi)刪除。
本文word下載地址:如何制作手機主題(如何制作手機主題賺錢).doc
本文 PDF 下載地址:如何制作手機主題(如何制作手機主題賺錢).pdf
| 留言與評論(共有 0 條評論) |