Android样式:如何在styles.xml中更改颜色

时间:2015-03-09 13:47:39

标签: android colors android-styles

我想更改android UI元素的一些颜色。但我更喜欢设置默认的色调颜色,它适用于所有UI元素。我不确定这是否可行。 如果没有,我想设置一些UI元素的“色调” - 颜色,如下所示。有人可以开导我吗?

colors of text and dividers in datepicker

highlight colors of buttons

enabled color of switch

progress color of seekbar

修改

根据Entreco的建议:

我的styles.xml:

<resources>

<!-- Base application theme. -->
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="android:textColorPrimary">@color/brown</item>
    <item name="android:textColorSecondary">@color/brown</item>
    <item name="android:textColorTertiary">@color/brown</item>
    <item name="android:textColorPrimaryInverse">@color/brown</item>
    <item name="android:textColorSecondaryInverse">@color/brown</item>
    <item name="android:textColorTertiaryInverse">@color/brown</item>

    <item name="colorPrimary">@color/blue</item>
    <item name="colorPrimaryDark">@color/blue</item>

    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="actionBarStyle">@style/MyActionBar</item>

</style>
<!-- style for the action bar backgrounds -->
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
    <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
    <item name="android:subtitleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
    <item name="android:background">@color/brown</item>
    <item name="titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
    <item name="subtitleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
    <item name="background">@color/brown</item>
</style>
<style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance">
    <item name="android:textColor">@color/brown_light</item>
    <item name="android:textSize">24sp</item>
</style>

我的值-v21 / styles.xml:

             @色/蓝         @色/蓝         @色/白色和LT; /项目&GT; - &GT;     

在我的清单中:

...

但原色仍然相同...... ???

1 个答案:

答案 0 :(得分:0)

从Lollipop开始,这很简单,这要归功于colorPrimary属性:

文件值/ styles.xml:

<!-- Base application theme. -->
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
</style>

文件值-v21 / styles.xml:

<style name="AppTheme" parent="AppTheme.Base">
    <item name="android:colorPrimary">@color/primary</item>
    <item name="android:colorPrimaryDark">@color/primary_dark</item>
    <item name="android:colorAccent">@color/white</item>
</style>

基本上,您可以为您的应用定义颜色托盘,我相信您希望设置colorPrimary(未验证)。

有关Material colors

的更多信息