Android上的可下载主题

Android上的可下载主题,android,resources,themes,Android,Resources,Themes,我目前正在研究在我的应用程序中为可下载的皮肤/主题添加支持的可能性。 由于res文件夹在运行时无法更改,我正在寻找替代方案,并且已经得出了一些结论 我尝试使用辅助应用(具有不同样式/布局/主题且名称匹配)中的主应用访问资源创建2个应用,方法如下: Resources res = getPackageManager().getResourcesForApplication("org.example.foo"); res.getIdentifier("AnotherTheme", "style",

我目前正在研究在我的应用程序中为可下载的皮肤/主题添加支持的可能性。 由于res文件夹在运行时无法更改,我正在寻找替代方案,并且已经得出了一些结论

我尝试使用辅助应用(具有不同样式/布局/主题且名称匹配)中的主应用访问资源创建2个应用,方法如下:

Resources res = getPackageManager().getResourcesForApplication("org.example.foo");
res.getIdentifier("AnotherTheme", "style", "org.example.foo");

在与这种“远程”加载相关的其他方法中。然而,所有这些都不起作用

似乎从另一个包加载资源只适用于“直接”资源,如可提取或字符串。 我的理论是,风格和主题与引用一起工作,因此系统无法在当前上下文中应用这些引用

问题是:这可以通过这种方法或类似的方法实现吗?

在此之后,还有另一种方法。。。完全绕过Android资源管理器,以编程方式管理一切。
我主要关心的是性能,所以有人知道在Android应用程序上预编译资源时会进行什么样的优化吗?或者在运行时?

我即将启动一个具有类似功能的项目。我一直在用编程的方式改变颜色和绘图,虽然这是一把小提琴,但效果很好


我真的不能评论性能,因为我的研究应用程序很小。我成功地处理了布局背景、按钮状态和带有状态的微调器/列表视图背景。有兴趣体验编程背景设置和大型列表视图

你对此有什么更新吗,NeTeInStEiN?目前我认为这仍然是事实,这意味着在不影响性能的情况下,没有一个好方法可以下载主题。
Context externalContext = createPackageContext("org.example.foo", Context.CONTEXT_IGNORE_SECURITY);
Theme externalTheme = externalContext.getTheme();
getTheme().setTo(externalTheme);