android 4.2如何获取当前主题的主色

时间:2014-01-07 21:24:45

标签: android android-layout android-theme android-styles

在android 4.2中,我们可以在设备设置中选择主题。

theme selection

默认主题相当于使用@android:color/holo_blue_light作为主要颜色。

问题是使用什么标签以获得我自己风格的主色(blue_light,mint,mocha,raspberry)?如果我使用@android:color/holo_blue_light,当用户切换到mint时,部分用户界面为薄荷色(部分未经我自己修改),部分用户为blue_light(由我自己修改的部分)。我花了很多时间,似乎没有任何解决方案....也许任何解决方法......?

我甚至试图分析Android样式和主题来源,但仍然没有答案:

https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/values/styles.xml

https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/values/themes.xml

最后我发布了部分样式代码(根据一位用户的要求):

<style name="MyActionBarStyle" parent="@android:style/Widget.Holo.ActionBar">
        <item name="android:displayOptions">showHome</item>
        <item name="android:background">@android:color/holo_blue_light</item>
        <item name="android:backgroundStacked">@android:color/holo_blue_light</item>
        <item name="android:backgroundSplit">@android:color/holo_blue_light</item>
    </style>

而不是使用@android:color/holo_blue_light我应该使用@android:color/holo_main_color之类的东西,但问题似乎不存在。

0 个答案:

没有答案