Android应用换肤大概有如下几种方式:
- 内置皮肤资源
- skin APK
- 压缩skin文件
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));