換膚
1. 換膚的應(yīng)用場景?
一般應(yīng)用在某些APP,在節(jié)假日更換主題,或者切換白天或者夜間模式時(shí)使用.
2. 換膚的實(shí)現(xiàn)方案
-
方案1
1. 將圖片以及顏色按照主題命名,使用虛擬文件夾, 直接在各個(gè)控制器針對不同主題單獨(dú)設(shè)置 缺點(diǎn) : 1. 擴(kuò)展性差, 增加一個(gè)主題非常復(fù)雜 2. 代碼分散, 可維護(hù)性差 3. 使用虛擬文件夾保存資源, 容易與其他資源容易產(chǎn)生沖突
-
方案2
2. 抽取公共的切換主題類, 使用物理文件夾, 并將圖片按照應(yīng)用場景命名, 不按照主題命名, 但是按照主題劃分文件夾 優(yōu)點(diǎn): 1. 擴(kuò)展性好, 增加主題簡單 2. 功能代碼集中, 方便維護(hù) 3. 資源包單獨(dú)管理, 不會(huì)產(chǎn)生資源沖突
3. 實(shí)現(xiàn)步驟(采用方案2)
1. 實(shí)現(xiàn)基本的換膚功能
2. 使用用戶偏好記錄當(dāng)前皮膚主題
3. 抽取公共的皮膚管理類, 簡化控制器邏輯
4. 驗(yàn)證多處加載主題情景
5. 加載主題文字顏色功能實(shí)現(xiàn)