代码之家  ›  专栏  ›  技术社区  ›  Alexander Oleynikov

Android应用程序中的多主题支持

  •  1
  • Alexander Oleynikov  · 技术社区  · 14 年前

    有人对Android应用程序实施了多主题支持吗?有什么共同的做法吗?

    谢谢你的建议。

    UPD: 目前的主要问题是Android的主题引擎不支持像CSS那样的选择器。例如,如果我有两个具有“background”属性的视图,就无法使主题引擎区分这些视图并设置不同的背景。我可以为每个视图指定不同的样式,但这种方法缺乏灵活性,因为不可能同时为整个活动应用样式。

    2 回复  |  直到 10 年前
        1
  •  3
  •   Sephy    14 年前

    据我所知,无法在代码行中为整个应用程序设置主题。如果你想改变一个活动的主题,你需要打电话 setTheme() 在其 onCreate() 方法,在调用之前 setContentView . 为了让你更容易,你可以打开你所有的主题,并根据用户选择的内容选择一个。现在,如果您希望它可以轻松地应用到所有活动中,那么您可以将所有活动都设置为自定义的子类。 Activity 你只会在其中设定主题。活动<--主题活动<--您的所有活动

        2
  •  1
  •   Bashar Ali Labadi    10 年前

    必须使用android attrs.xml定义动态样式属性 我在这里写了一篇关于如何做到这一点的博客:

    http://blabadi.blogspot.com/2015/01/android-multiple-themes-for-one.html

    希望这有帮助。