Android:如何将操作栏背景颜色更改为深蓝色?

时间:2014-03-31 07:25:05

标签: android android-actionbar

我正在尝试更改应用的ActionBar背景颜色

我尝试了以下更改,

Reference link

在style.xml文件中,我添加了“MyTheme”和“ActionBarBackground”,如下所示。

    <resources>

    <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Light">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>
    <style name="MyTheme" parent="AppBaseTheme">
        <item name="android:actionBarStyle">@style/ActionBarBackground</item>
    </style>
    <style name="ActionBarBackground" parent="AppBaseTheme">
        <item name="android:background">#00008b</item>
    </style>

</resources>

然后,

清单文件,我为下面的特定activity添加了

<activity android:name="LoginActivity" android:theme="@style/ActionBarBackground">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

会发生什么,它会变为整个活动视图背景的蓝色,而不是仅仅改变操作栏的颜色。

有人可以建议,我在这里做错了什么。

3 个答案:

答案 0 :(得分:5)

我改变了它的颜色。

你可以试试这个。

ActionBar actionBar = getActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(0xFF160203));

在您的活动类中添加此内容。

答案 1 :(得分:1)

在此创建您的风格:ActionBar Style Generator。将生成包含一堆文件的zip文件。将它们复制到适当的资源文件夹中。

如果您感到好奇,可以查看生成的文件,了解如何通过应用程序样式和主题设置操作栏的样式。

答案 2 :(得分:0)

在您的活动代码中,您可以将这些说明放在onCreate()方法中:

getActionBar().setBackgroundDrawable(new ColorDrawable(this.getResources().getColor(resId_color)));

resid_colorcolours.xml文件中定义的颜色时。