代码之家  ›  专栏  ›  技术社区  ›  Jim Blackler

在运行时将整个应用程序切换到其他“styles.xml”文件?

  •  3
  • Jim Blackler  · 技术社区  · 14 年前

    styles.xml

    styles2.xml 运行时文件和开关(通过设置)。

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

    3 回复  |  直到 14 年前
        1
  •  1
  •   skorulis    14 年前

    不确定是否还有人感兴趣,但我找到了一个可能的解决办法。有点老套,但得到了想要的结果。 基本上,我在单独的国家代码目录中设置了两个样式文件:

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

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

    到目前为止,我只做了一些基本的测试,但它似乎工作。显然,如果您已经使用国家代码来决定您的布局,那么这将产生干扰。我认为如果手机收到一个关于国家变化的事件,可能也会有问题。

        2
  •  1
  •   Community CDub    5 年前

    事实上,在读了一读医生之后,这似乎是可以做到的。 Look here. 如前所述:

    要创建一组样式,请保存XML 你的项目。XML文件的名称 是任意的,但必须使用.xml res/values/folder。

    现在,如果这是合乎逻辑的,并且我没有错误地阅读文档,那么您可以创建任意多的样式,在themes.xml中使用@style/…引用它们(如果您想将其应用于整个活动或应用程序),然后,只需调用

    设置主题(R.id.yourtheme)

    我想这应该管用。试一试告诉我们?