在Android中更改操作栏颜色

时间:2013-06-21 19:10:06

标签: android android-layout

这个问题已经问到堆栈溢出但是对我没用。

我想改变我的动作栏颜色,就像facebook app一样,顶部动作是蓝色,其余部分是白色背景颜色。

我尝试在堆栈溢出中使用帖子但是,它将我的完整活动颜色更改为白色而不仅仅是操作栏。

这是我的style.xml和

<style name="CustomActivityTheme" parent="@android:style/Theme.Holo">
    <item name="android:actionBarTabStyle">@color/blue_base</item>
    <!-- other activity and action bar styles here -->
</style>

的manifest.xml

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/CustomActivityTheme">

感谢。

2 个答案:

答案 0 :(得分:2)

你不能直接使用颜色,你必须使用drawable:

action_bar_bg.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/blue_base"/>
</shape>

然后这应该有效:

<item name="android:actionBarTabStyle">@drawable/action_bar_bg</item>

答案 1 :(得分:0)

现在我意识到你做错了什么。你无法将颜色传递给actionBarTabStyle,你必须传递风格。相反,您可以定义style并将其传递给它,

<style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:background">@drawable/ab_background</item>
</style>

这个例子来自Android Developers页面,如果你看一下那里就可以解释得很清楚。

Android Developers Blog

还有另一篇好文章