如何在使用支持库时更改操作栏背景?

时间:2014-08-21 16:04:12

标签: android android-actionbar android-theme

我在'自定义背景'上尝试了示例代码(https://developer.android.com/training/basics/actionbar/styling.html)。

但我想知道它是如何工作的。 - > ' @可绘制/ actionbar_background'

似乎要添加' actionbar_background.png'提交到res文件夹,但我不知道在哪里。

所以我改变了这样的来源。

<!-- Action Bar styles -->
<style
    name="MyActionBar"
    parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">

    <item name="android:background">#FF6600</item>

    <!-- Support library compatibility -->
    <item name="background">#FF6600</item>
</style>

但是这部分

<item name="background">#FF6600</item>

不起作用。 我不知道哪种类型合适。

2 个答案:

答案 0 :(得分:2)

请在 res&gt;&gt;值

的style.xml中使用此功能
<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="@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">#4cb9f6</item>
</style>

答案 1 :(得分:0)

在我的情况下,我也无法使用XML样式文件更改背景,所以我只是更改了&#34; onCreate&#34;我的活动。

getActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor(MY_COLOR)));

也许这不是最佳做法,但它是有效的。