操作栏标题/图标不使用主题颜色

时间:2013-12-10 11:09:54

标签: android styles

我正在为我的应用程序中的操作栏执行自定义样式。我已将操作栏更改为我想要的蓝色背景和白色文本,并且工作正常。然而,应用程序标题和图标周围的区域(我认为是透明区域)显示的是一般主题背景而不是操作栏背景。因此,不是透明度“落入”动作栏,而是落入基本背景。

这是显示问题的图像(我已将主题背景更改为红色以突出显示问题)。

the problem

我该如何解决这个问题?

这是我的styles.xml文件:

<resources>

    <style name="MyTheme" parent="@style/Theme.AppCompat">
        <item name="android:background">#FF0000</item>
        <item name="android:textColor">@color/cp_text</item>
        <item name="android:actionBarStyle">@style/CustomActionBar</item>
        <item name="android:actionButtonStyle">@style/CustomActionBarButton</item>
        <item name="android:actionModeBackground">@color/cp_titlebar_background</item>
    </style>

    <style name="CustomActionBar" parent="@style/Widget.AppCompat.ActionBar">
        <item name="android:background">@color/cp_titlebar_background</item>
        <item name="android:textColor">@color/cp_text</item>
        <item name="android:titleTextStyle">@style/CPTitleTextStyle</item>
    </style>

    <style name="CPTitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textColor">@color/cp_text</item>
        <item name="android:background">@color/cp_titlebar_background</item>
    </style>

    <style name="CustomActionBarButton" parent="@android:style/Widget.ActionButton">
        <item name="android:background">@color/cp_titlebar_background</item>
    </style>

</resources>

1 个答案:

答案 0 :(得分:3)

通过在基本主题上设置<item name="android:background">#FF0000</item>,所有视图和小部件都将使用此值作为其背景。

如果您想为主题中的活动设置背景颜色,请使用android:windowBackground属性而不是背景。