我正在开发一个Android应用程序,我正在使用ActionBarSherlock来兼容。到目前为止,一切都很好,除了我想要更改溢出菜单项的文本颜色。
这是他们目前的样子:
现在,原因是我使用Holo.Light.DarkActionBar作为Base主题,因为图标是白色的,ActionBar的Title和SubTitle上的文本是白色的,还有其他一些东西。
据我所知,按此question,我应该可以简单地更改以下内容:
<!-- For Values -->
<style name="Theme.Laprensa_compat_holo_light_dark_action_bar" parent="@style/Theme.Sherlock.Light.DarkActionBar">
<item name="spinnerItemStyle">@style/SpinnerItemStyle</item>
<!-- For Values-v14 -->
<style name="Theme.Laprensa_compat_holo_light_dark_action_bar" parent="@style/Theme.Sherlock.Light.DarkActionBar">
<item name="android:spinnerItemStyle">@style/SpinnerItemStyle</item>
而SpinnerItemStyle
是:
<style name="SpinnerItemStyle" parent="Widget.Sherlock.TextView.SpinnerItem">
<item name="android:textColor">@android:color/black</item>
</style>
现在,这似乎不起作用,所以我添加了
<item name="spinnerItemStyle">@style/SpinnerItemStyle</item>
对于儿童主题:
<style name="ActionBar.Solid.Laprensa_compat_holo_light_dark_action_bar" parent="@style/Widget.Sherlock.Light.ActionBar.Solid.Inverse">
这仍然是一个禁忌。
我引用的答案指出我应该确保我使用正确的适配器布局,但实际上,我不是手动自己膨胀任何代码,而是常规的onCreateOptionsMenu
实现。
关于我可以更改什么以使文本变黑的任何想法?您应该知道更改actionMenuTextColor
适用于托管在操作栏本身,并且不会更改溢出菜单项
编辑根据马蒂亚斯的回答,我尝试了以下风格:
<style name="TextAppearance.Styled.Widget.PopupMenu.Large" parent="TextAppearance.Sherlock.Widget.PopupMenu.Large">
<item name="android:textColor">@android:color/black</item>
</style>
并在主题上使用它:
<style name="Theme.Laprensa_compat_holo_light_dark_action_bar" parent="@style/Theme.Sherlock.Light.DarkActionBar">
<item name="textAppearanceLargePopupMenu">@style/TextAppearance.Styled.Widget.PopupMenu.Large</item>
</style>
但文字仍然不可见。
答案 0 :(得分:1)
<style name="AppTheme" parent="@style/Theme.Sherlock.Light.DarkActionBar">
<item name="android:textAppearanceLargePopupMenu">
@style/TextAppearance.Styled.Widget.PopupMenu.Large</item>
</style>
<style name="TextAppearance.Styled.Widget.PopupMenu.Large"
parent="TextAppearance.Sherlock.Widget.PopupMenu.Large">
<item name="android:textColor">?attr/textColorPrimaryInverse</item>
</style>