为什么自定义操作栏背景样式隐藏文字?

时间:2017-05-10 12:09:53

标签: android

我正在调整我的操作栏,问题是当我在我的子主题中设置背景属性时,操作栏文本将消失:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/CustomActionBar</item>
    <item name="actionBarStyle">@style/CustomActionBar</item>
</style>

<style name="CustomActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">@android:color/holo_blue_dark</item>
    <item name="background">@android:color/holo_blue_dark</item>
</style>

如果我覆盖背景,那么剩余的属性应该来自我的逻辑的父主题,这包括文本仍然可见。

为了获得文本,我需要写下以下内容:

<item name="android:displayOptions">showHome|useLogo|showTitle</item>

为什么我要写那个?为什么设置背景会从父主题中删除文本?提前感谢您的澄清。

1 个答案:

答案 0 :(得分:0)

问题是你是从一个不正确的风格继承。而不是从Widget.Holo.Light.ActionBar继承,使actionBarStyle成为AppCompat种格式之一的后代,例如Widget.AppCompat.Light.ActionBar.Solid

<style name="MyActionBarStyle" parent="Widget.AppCompat.Light.ActionBar.Solid">
    <!-- override attributes here -->
</style>
相关问题