Android應用的換膚實現(APK)

2021-07-05 04:40:52 字數 652 閱讀 9391

android應用換膚大概有如下幾種方式:

skin apk是通過main apk+skin apk的方式,需要在androidmanifest.xml檔案中配置的android:shareduserid屬性值相同,從而實現主從apk能共享共享資源。

**實現如下:

context context = createpackagecontext("com.example.blueskin", context.context_ignore_security);

int resid = context.getresources().getidentifier("background", "color", flag_blue_skin);

mainview.setbackgroundcolor(context.getresources().getcolor(resid));

在demo實踐中,當我獲取了skin apk的context後,直接context.getresources().getcolor(r.color.background),但程式報錯找不到資源。檢查發現background在main、skin apk中編譯的r值不一樣,造成不能正確的定位到skin中的資源。因此需要先獲取正確的resource id,再根據此id獲取對應資源。

Android實現外掛程式化換膚 一

何為外掛程式化換膚,顧名思義,就是通過外掛程式的形式向宿主apk新增資源 顏色等資源 宿主apk進行資源應用,最終將宿主apk上面的資源替換掉。在進行換膚之前,我們需要了解andorid布局檔案的解析流程,具體可以檢視 setcontentview原始碼解讀。3.1 控制項的生成 通過檢視 setc...

android 換膚模式總結

由於android的設定中並沒有夜間模式的選項,對於喜歡睡前玩手機的使用者,只能簡單的調節手機螢幕亮度來改善體驗。目前越來越多的應用開始把夜間模式加到自家應用中,沒準不久google也會把這項功能新增到android系統中吧。業內關於夜間模式的實現,有兩種主流方案,各有其利弊,我較為推崇第三種方案 ...

換膚功能的實現

記得大概兩年前做過一款應用,涉及的主題 的更換,並不是單純的只換背景顏色,導航欄顏色,很類似於qq裡面的 更換,而是需要更換整個應用的80 還有包括一部分的字型.講完ui布局之後開始設計 2.分頁面設計,儘量減少常駐記憶體的ui,實際上,只有那3個主介面時常駐的,其他的ui都不是常駐。這樣在頁面被開...