【问题标题】:Action bar title/icon not using theme color操作栏标题/图标不使用主题颜色
【发布时间】:2013-12-10 11:09:54
【问题描述】:

我正在为我的应用程序中的操作栏做一个自定义样式。我已将操作栏更改为我想要的蓝色背景和白色文本,并且效果很好。然而,应用程序标题和图标周围的区域(我认为是透明区域)显示的是一般主题背景而不是操作栏背景。因此,透明度不是“穿透”到操作栏,而是穿透到基础背景。

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

我该如何解决这个问题?

这是我的 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>

【问题讨论】:

    标签: android styles


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢。我昨晚很晚才通过从主题中删除背景使其正常工作,但后来我不得不手动将背景样式应用于我的所有活动,这感觉有点骇人听闻。 windowBackground 是一个更优雅的解决方案,所以我现在正在使用它。
    猜你喜欢
    • 1970-01-01
    • 2013-04-20
    • 2023-03-03
    • 1970-01-01
    • 2019-03-01
    • 2016-02-15
    • 2015-02-03
    • 1970-01-01
    • 2018-05-11
    相关资源
    最近更新 更多