如何在API级别21中更改ActionBar背景颜色

时间:2015-05-23 19:17:24

标签: android

我添加了以下代码,但它适用于API级别14

    <style name="MyTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>

    <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">ANY_HEX_COLOR_CODE</item>
    </style>
</resources>

请帮我找到解决方案。

4 个答案:

答案 0 :(得分:0)

这是我用来做这项工作的,但我使用的是AppCompat。

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

<style name="CustomActionBarTheme" parent="@style/AppTheme">
    <item name="actionBarStyle">@style/CustomActionBar</item>
</style>


<!-- ActionBar styles -->
<style name="CustomActionBar" parent="Widget.AppCompat.Light.ActionBar.Solid.Inverse">
     <item name="background">@drawable/actionbar_foreground</item>
</style>

制作一个名为 actionbar_background.xml

的drawable
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">

    <solid android:color="#FF0000"/>

</shape>

不要忘记更新AndroidManifest.xml

<application
    android:theme="@style/CustomActionBarTheme">

enter image description here

答案 1 :(得分:0)

colorPrimary

取自Android developer网站。

您需要基本上使用web.xml值来表示操作栏颜色。还有其他显示状态栏颜色和所有,您可以在链接中找到。

答案 2 :(得分:0)

ToolBar.setBackgroundColor(Color.BLACK);

答案 3 :(得分:0)

它在API 21中适用于我:

如果您使用AppCompatActivity

getSupportActionBar().setBackgroundDrawable(new ColorDrawable(ContextCompat.getColor(this, R.color.<YOUR_COLOR>)));