我想让我的应用程序有几个皮肤.我的主要目的不是让用户改变皮肤,而是让我为每个顾客定制皮肤.
通过使用样式和主题,我可以将蒙皮信息与布局分开.它的作用就像一个魅力,但需要将所有皮肤及其所有资源(包括重量级位图)包含在应用程序中,这似乎浪费了更多皮肤创建的宝贵空间.
有一种方法可以制作一个自动构建(ant)脚本并让它决定包含什么,但由于其他一些原因,它不是优选的.
我在市场上看到过几个使用独立主题文件的应用程序(可单独下载和安装),所以我猜测可以实现将这些信息移动到单独的APK中.
我到目前为止,让我的应用程序和皮肤提供程序apk具有相同的UserID,以获得更多的彼此免费访问,但仍然不知道如何获取资源.
内容提供程序可能是一种解决方案,但是需要将布局信息从XML转移回代码并且具有一些性能问题的加号层,而这些问题并不适用于主要的视觉效果.
这个问题的最佳做法是什么?
一个更重要的信息:我必须使用API级别7(2.1),因此仅在更高级别API中工作的解决方案超出范围.
解决方法:
private static Resources getThemeResources(String themePackage, Context context) throws NameNotFoundException {
try {
return [context.getPackageManager().getResourcesForApplication(themePackage);][1]
} catch (Exception e) {
return null;
}
}
这将为您提供指定apk的资源. themePackage应该是您尝试访问的主题的完整包. context是调用者的上下文,即应用程序的上下文.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。