【问题标题】:How to change ActionBar Colour如何更改操作栏颜色
【发布时间】:2016-06-07 17:25:11
【问题描述】:

我正在尝试将我的应用程序ActionBar 颜色更改为没有成功。我正在使用这个库https://github.com/neokree/MaterialNavigationDrawer;

这里是 style.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">

        <!-- Customize your theme here. -->
        <item name="android:actionBarStyle">@style/AppTheme.ActionBar</item>
        <!-- Support library compatibility -->
        <item name="actionBarStyle">@style/AppTheme.ActionBar</item>
        <item name="colorControlActivated">@color/color_c</item>
        <item name="toolbarStyle">@style/Widget.Toolbar</item>
    </style>

    <style name="Widget.Toolbar" parent="@style/Widget.AppCompat.Toolbar">
        <item name="contentInsetStart">5dp</item>
    </style>

    <style name="AppTheme.ActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
        <item name="android:background">@color/color_a</item>
        <item name="background">@color/color_a</item>
        <!-- Support library compatibility -->
    </style>

    <style name="FullscreenTheme" parent="android:Theme.NoTitleBar">
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowBackground">@null</item>
    </style>

    <style name="MyNavigationDrawerTheme" parent="MaterialNavigationDrawerTheme.Light.DarkActionBar">
        <item name="colorPrimary">@color/color_a</item>
        <item name="colorPrimaryDark">@color/color_a</item>
        <item name="colorAccent">#FFFFFF</item>
        <item name="rippleBackport">true</item>
        <item name="singleAccount">true</item>
        <item name="multipaneSupport">true</item>
        <!--<item name="learningPattern">false</item>-->
    </style>

    <style name="MySubheaderTheme">
        <item name="subheaderTitleColor">#000000</item>
    </style>

    <style name="MySectionTheme" >
        <item name="sectionColorIcon">#000000</item>
        <item name="sectionColorText">#000000</item>
        <item name="sectionColorNotification">#000000</item>
        <item name="sectionBackgroundColorPressed">#160000FF</item>
        <item name="sectionBackgroundColorSelected">#0A0000FF</item>
        <item name="sectionBackgroundColor">#000000FF</item>
    </style>

</resources>

我的活动使用MyNavigationDrawerTheme 主题。

【问题讨论】:

  • 您尝试更改 colors.xml 的哪些值?
  • 它是蓝色的,我想换成绿色
  • 好的...再次,colors.xml 看起来像什么,您是否更改了@color/color_a?
  • 这是我的 colors.xml &lt;color name="color_a"&gt;#25a402&lt;/color&gt;
  • 能否请edit 提供有关该信息以及您的清单的问题?

标签: android android-toolbar android-styles


【解决方案1】:

您应该能够使用android:colorPrimary 属性设置操作栏颜色:

<resources>
  <!-- inherit from the material theme -->
  <style name="AppTheme" parent="android:Theme.Material">
    <!-- Main theme colors -->
    <!--   your app branding color for the app bar -->
    <item name="android:colorPrimary">@color/primary</item>
    <!--   darker variant for the status bar and contextual app bars -->
    <item name="android:colorPrimaryDark">@color/primary_dark</item>
    <!--   theme UI controls like checkboxes and text fields -->
    <item name="android:colorAccent">@color/accent</item>
  </style>
</resources>

基于信息here

【讨论】:

  • 我已经这样做了,但还是一样。我的测试设备有 API 18
  • 您可以尝试使用Theme.AppCompat 之一作为父级,并在样式中包含colorPrimary 的默认命名空间版本,而不是android:colorPrimary。
【解决方案2】:

您也应该为 v21 及更高版本创建样式,只需稍作改动(因为它们本身支持材质主题)。 在 values-v21/style.xml 中添加 android:colorPrimary 和其他带有 android: 前缀的属性到您的样式中:

<style name="MyNavigationDrawerTheme" parent="MaterialNavigationDrawerTheme.Light.DarkActionBar">
        <item name="android:colorPrimary">@color/color_a</item>
        <item name="android:colorPrimaryDark">@color/color_a</item>
        <item name="android:colorAccent">#FFFFFF</item>
        <!--...-->
    </style>

【讨论】:

  • 我已经这样做了,但还是一样。我的测试设备有 API 18
猜你喜欢
  • 1970-01-01
  • 2012-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多