android – 将资源文件分离到不同的apk进行换肤

android – 将资源文件分离到不同的apk进行换肤,第1张

概述我想让我的应用程序有几个皮肤.我的主要目的不是让用户改变皮肤,而是让我为每个顾客定制皮肤. 通过使用样式和主题,我可以将蒙皮信息与布局分开.它的作用就像一个魅力,但需要将所有皮肤及其所有资源(包括重量级位图)包含在应用程序中,这似乎浪费了更多皮肤创建的宝贵空间. 有一种方法可以制作一个自动构建(ant)脚本并让它决定包含什么,但由于其他一些原因,它不是优选的. 我在市场上看到过几个使用独立主题文件 我想让我的应用程序有几个皮肤.我的主要目的不是让用户改变皮肤,而是让我为每个顾客定制皮肤.

通过使用样式和主题,我可以将蒙皮信息与布局分开.它的作用就像一个魅力,但需要将所有皮肤及其所有资源(包括重量级位图)包含在应用程序中,这似乎浪费了更多皮肤创建的宝贵空间.

有一种方法可以制作一个自动构建(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是调用者的上下文,即应用程序的上下文.

总结

以上是内存溢出为你收集整理的android – 将资源/文件分离到不同的apk进行换肤全部内容,希望文章能够帮你解决android – 将资源/文件分离到不同的apk进行换肤所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1124411.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存