在Android中更改Actionbar的颜色

时间:2014-10-20 05:50:48

标签: android android-actionbar

我正在尝试更改我的应用中操作栏的背景颜色,但这在我的应用上显示不同。而不是着色动作栏,整个活动都是彩色的。

我不确定为什么会这样?我只想让主操作栏和设置操作栏变色。

请检查屏幕截图。

主要活动地图:

enter image description here

偏好设置:

enter image description here

除了主要活动和偏好设置活动之外,我还为所有子活动启用了透明的Actionbar并启用了UP导航。

我不确定为什么会出现如上所示:

这是style.xml(values-v14):

<resources xmlns:android="http://schemas.android.com/apk/res/android">

<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <item name="android:background">#FF5050</item>
</style>

<style name="dialogtheme" parent="@android:style/Theme.Holo.Light.DarkActionBar"></style>

<!-- Transparent ActionBar Style -->
<style name="AppTheme.Light.ActionBar.Transparent" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
    <item name="android:background">@android:color/transparent</item>
</style>

<!-- Activity Theme with transparent ActionBar -->
<style name="AppTheme.TransparentActionBar.Light" parent="@style/AppBaseTheme">
    <item name="android:actionBarStyle">@style/AppTheme.Light.ActionBar.Transparent</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:backgroundDimEnabled">true</item>
    <item name="android:windowActionBarOverlay">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:displayOptions">showHome|homeAsUp|showTitle</item>
    <item name="android:icon">@android:color/transparent</item>
    <item name="android:actionBarTabTextStyle">@style/ActionBarTabTextStyle.Tabtheme</item>
    <item name="android:actionBarDivider">@drawable/verticallinefordivder</item>
    <item name="android:actionBarTabStyle">@style/ActionBarTabStyle.MapsLocation</item>
</style>

<style name="simpledialog" parent="android:Theme.Holo.Light.Dialog">
    <item name="android:windowNoTitle">true</item>
</style>

<style name="ActionBarTabTextStyle.Tabtheme" parent="@style/AppBaseTheme">
    <item name="android:textSize">18sp</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textColor">@android:color/black</item>
</style>

<style name="ActionBarTabStyle.MapsLocations" parent="@android:style/Widget.Holo.Light.ActionBar.TabView">
    <item name="android:background">@drawable/tab_indicator</item>
</style>

<style name="myPreferenceTheme" parent="@style/AppBaseTheme">
    <item name="android:textColor">@color/blue</item>
</style>

<style name="Widget.ActionButton" parent="@style/AppBaseTheme">
    <item name="android:background">?android:attr/actionBarItemBackground</item>
    <item name="android:paddingLeft">12dip</item>
    <item name="android:paddingRight">12dip</item>
    <item name="android:minWidth">56dip</item>
    <item name="android:minHeight">?android:attr/actionBarSize</item>
</style>

</resources>

3 个答案:

答案 0 :(得分:3)

稍有改动,你的动作栏将是红色的:

<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/AppTheme.Light.ActionBar</item>
</style>

<style name="dialogtheme" parent="@android:style/Theme.Holo.Light.DarkActionBar"></style>

<!-- Transparent ActionBar Style -->
<style name="AppTheme.Light.ActionBar" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:background">#FF5050</item>

</style>

我在 AppBaseTheme &amp;中更改了项目 AppTheme.Light.ActionBar 。 现在你很高兴。让我知道它是否有效但无论如何工作:P

答案 1 :(得分:0)

您可以尝试在操作栏中设置自定义视图。

actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(you_custom_layout);

答案 2 :(得分:0)

我知道这不是这个问题的正确答案,但如果您想编辑ActionBar,可以在线使用Android Action Bar Style Generator

至少你可以创建一个样式并检查你的样式以找到差异并学习如何编辑你的ActionBar。