ActionBarSherlock更改溢出操作项的文本颜色

时间:2013-05-14 08:05:03

标签: android styles actionbarsherlock android-spinner

我正在开发一个Android应用程序,我正在使用ActionBarSherlock来兼容。到目前为止,一切都很好,除了我想要更改溢出菜单项的文本颜色。

这是他们目前的样子:

enter image description here

现在,原因是我使用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>

但文字仍然不可见。

1 个答案:

答案 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>