android - 在运行时将整个应用程序切换到备用 "styles.xml"文件?

标签 android

我的应用有一个 styles.xml 文件,其中定义了各种视觉常量。

我希望我的用户能够将整个应用切换到另一个视觉主题。我想提供一个替代的 styles2.xml 文件并在运行时切换(通过设置)。

这可能吗?如何实现?我怀疑样式名称在生成的 R 类中的出现不是好兆头。

如果不可能,我的下一个最佳选择是什么?

最佳答案

不确定是否还有人感兴趣,但我已经找到了可能的解决方案。有点骇人听闻,但得到了预期的结果。 基本上我在不同的国家代码目录中设置了我的 2 个样式文件:

res/values-mcc199/style.xml
res/values-mcc198/style.xml

然后在我的 Activity 中,我使用以下内容来更改引用的内容:

Configuration config = new Configuration();
config.mcc = 199;
getBaseContext().getResources().updateConfiguration(config,null);

到目前为止,我只做了一些基本测试,但它似乎有效。显然,如果您已经在使用国家/地区代码来决定您的布局,那么这会产生干扰。我认为如果手机收到有关国家/地区更改的事件,也可能会出现问题。

关于android - 在运行时将整个应用程序切换到备用 "styles.xml"文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3308716/

相关文章:

android - 升级到android后无法构建项目-P

Android IABHelper vs Billingclient

Android AlarmManager 在每次应用程序启动时发送通知而不是只发送一次

c# - 套接字纯文本响应中断

android - AVD 无效。自 Intellij IDEA 13 中创建 AVD 以来,配置已更改

android - 运行perl skript的服务器和android之间的连接

android - 如何在android xml资源文件中保留URL?

java - Android编程初学者

android - 通过 API 获取 Android 订阅的用户历史交易记录

android - 在圆周上添加 Sprite