我正在尝试通过xml更改我的活动中的操作栏。
根据this answer中的建议和类似的答案,我定义了两种样式。在清单文件中的活动(或应用程序)标记中设置一个AppTheme
。另一个用于定义操作栏本身,MyActionBarTheme
。很简单:
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="actionBarStyle">@style/MyActionBarTheme</item>
</style>
<style name="MyActionBarTheme" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">#F00</item>
</style>
我为整个应用设置了AppTheme:
<application android:theme="@style/AppTheme">
<activity android:name=".settings.DeleteAccountActivity"
android:label="Delete Account">
</activity>
...
我什至尝试为自己的活动专门设置主题:
<application android:theme="@style/AppTheme">
<activity android:name=".settings.DeleteAccountActivity"
android:label="Delete Account"
android:theme="@style/AppTheme">
</activity>
...
我知道这是多余的。
这是怎么回事:
如果未设置actionBarStyle,则会看到标准的操作栏。但是,如果我设置actionBarStyle,则actionBar会完全消失。
我尝试了其他一些事情,例如
<item name="actionBarWidgetTheme">@style/MyActionBarTheme</item>
和<item name="actionBarTheme">@style/MyActionBarTheme</item>
或专门设置<item name="windowActionBar">true</item>
并使用
<style name="MyActionBarTitleText"
parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">#F00</item>
</style>
,但是同样的事情发生了。动作栏完全消失。关于什么原因导致这个问题以及如何解决这个问题的任何想法?
PRE-POSTING-EDIT
我只是注意到我设置了“ actionBarStyle”,而不是“ android:actionBarStyle”。但是当我写“ android:”时,它仍然不需要MyActionBarTheme
,而是看起来好像我根本没有设置“ actionBarStyle”。