如何允许第三方应用在Android上为应用设置主题?

| 我已经在市场上的许多应用程序中看到了此功能,例如ADWLauncher。您安装了一个应用程序,但随后可以下载仅以第一个应用程序为主题的应用程序。我真的很想在自己制作的应用中执行此操作,但是我不知道如何执行此操作。 最简单的解决方案是将所有可能的主题简单地包含到主应用程序中,然后根据还安装了哪些其他应用程序“解锁”它们。这不是首选的解决方案,因为添加更多主题将使应用程序更大,从而浪费空间。这也可以防止第三方提出自己的主题。 另一个解决方案是将主题应用程序中的资源和类由香草应用程序加载,但是我不知道如何实现。 还有另一种方法可以实现这一目标吗?建议的机制是什么?任何输入将不胜感激。 之前也曾提出过类似的问题,但没有答复: https://stackoverflow.com/questions/3772440/android-how-to-allow-third-party-developers-to-skin-my-app https://stackoverflow.com/questions/3771923/android-possible-for-one-app-to-provide-styles-themes-for-another-app     
已邀请:
我对此也很好奇。目前,我最好的猜测是确保所有UI控件都是可绘制的,而不仅仅是股票微调器/滑块/等。在UI中使用可绘制的图形作为图形,并且在发布apk时,这些资源不仅应可见,但他人可以改变。再说一次,我不是100%肯定,所以不要在那哈哈上引述我的话。     
我一直在寻找有关如何执行此操作的示例,但据我所知,没有办法在包之间共享资源和代码。我可以找到的最佳解决方案是,一个包通过ContentProvider为其他包提供其资源。     
您可以使用此代码段获取其他应用程序的资源
context.getPackageManager().getResourcesForApplication(String appPackageName);
    

要回复问题请先登录注册