原理:主程序與主題apk使用相同的sharedUserId, 使得主程序可以訪問主題apk包中的資源
主程序:MainSkin.apk
主題包:SkinTest1.apk, SkinTest2.apk
MainSkin實現一個activity來加載SkinTest1或SkinTest2中的資源,給自己設置不同主題的背景圖片和按鈕圖片
MainSkin的AndroidManifest.xml如下:
MainSkin的Acitivity定義:
同時MainSkin中需要放一套默認圖片資源
主題包中不需要代碼,只需要資源文件和在manifest裏面聲明和主程序MainSkin使用相同的sharedUserId即可,
在這兩個主題包中分別放了兩套不同的圖片,每套圖包括一張activity背景圖和一張button背景圖
如SkinTest1的AndroidManifest.xml內容如下:
顯示效果: