不能改变android studio中动作栏的颜色

时间:2015-11-29 15:44:00

标签: android colors android-actionbar

我的主要活动扩展了AppCompatActivity。我看不出这些代码有什么问题,但我的动作栏颜色仍然没有变化。帮助

styles.xml

<style name="CustomTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/CustomActionBarStyle</item>
</style>

<style name="CustomActionBarStyle" parent="Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="android:background">#008000</item>
</style>

AndroidManifest.xml(我使用启动画面,这就是为什么.MainActivity不是我的发射器)

    <activity
        android:name=".MainActivity"
        android:theme="@style/CustomTheme">
        <intent-filter>
            <category android:name="android.intent.category.default" />
        </intent-filter>
    </activity>

3 个答案:

答案 0 :(得分:1)

请检查this以查看应在应用程序/活动主题中设置/覆盖的颜色值。 <item name="android:colorPrimary">@color/primary</item>将用于操作栏的颜色。

答案 1 :(得分:1)

只需修改styles.xml,如下所示: -

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">#FF9800</item> // This will be the color of your Actionbar
    <item name="colorPrimaryDark">#FF9800</item> 
    <item name="colorAccent">@color/colorAccent</item>
    <item name="colorButtonNormal">#FF9800</item>
</style>

答案 2 :(得分:0)

请在您的java文件中尝试此操作。无论使用何种风格,它都可以在运行时工作,但可以100%工作。

android.support.v7.app.ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
    actionBar.setBackgroundDrawable(new 
      ColorDrawable(ContextCompat.getColor(this, R.color.colorPrimary)));
}

不要忘记导入所需的类并使用您选择的颜色更改“colorPrimary”。