2013-06-03 42 views
5

在我的主旋律,我包括此:设置溢出菜单文本颜色

<item name="android:popupMenuStyle">@style/ListPopupWindow</item> 

styles.xml

<style name="ListPopupWindow" parent="@android:style/Widget.Holo.ListPopupWindow"> 
    <item name="android:textColor">@color/bright_foreground_holo_dark</item>  
</style> 

其中bright_foreground_holo_dark是浅灰色(#fff3f3f3)。然而,文字显示为黑色。背景是深灰色,因为它应该在黑暗的全息主题中。

这些定义在android styles.xml source中。

<style name="Widget.Holo.ListPopupWindow" parent="Widget.ListPopupWindow"> 
    <item name="android:dropDownSelector">@android:drawable/list_selector_holo_dark</item> 
    <item name="android:popupBackground">@android:drawable/menu_dropdown_panel_holo_dark</item> 
    <item name="android:dropDownVerticalOffset">0dip</item> 
    <item name="android:dropDownHorizontalOffset">0dip</item> 
    <item name="android:dropDownWidth">wrap_content</item> 
</style> 

<style name="Widget.ListPopupWindow"> 
    <item name="android:dropDownSelector">@android:drawable/list_selector_background</item> 
    <item name="android:popupBackground">@android:drawable/spinner_dropdown_background</item> 
    <item name="android:dropDownVerticalOffset">-10dip</item> 
    <item name="android:dropDownHorizontalOffset">0dip</item> 
    <item name="android:dropDownWidth">wrap_content</item>   
</style> 

<style name="Widget"> 
    <item name="android:textAppearance">?textAppearance</item> 
</style> 

<style name="TextAppearance"> 
    <item name="android:textColor">?textColorPrimary</item> 
    <item name="android:textColorHighlight">?textColorHighlight</item> 
    <item name="android:textColorHint">?textColorHint</item> 
    <item name="android:textColorLink">?textColorLink</item> 
    <item name="android:textSize">16sp</item> 
    <item name="android:textStyle">normal</item> 
</style> 
+0

有同样的问题,并尝试了很多不同的方法。它几乎看起来像没有挂钩/ Android忽略任何可用的候选人。 – Chris

+0

卡住了同样的事情。你想知道如何解决这个问题吗? – Zen

回答

12

万一有人寻求帮助,

要更改溢出菜单项的字体颜色,你的主题应该包括

<item name="android:textAppearanceLargePopupMenu">@style/PopupMenuTextAppearance</item> 

style.xml

<style name="PopupMenuTextAppearance" parent="android:TextAppearance.Large"> 
    <item name="android:textColor">@color/bright_foreground_holo_dark</item> 
</style> 

选择任何父母TextAppearance.Medium/TextAppearance.Small de根据需要而定。

+1

希望我首先看到了这一点 - 经过大量的试验和错误后,我得出了相同的结论。有很多重复的问题与hacky的答案,但这应该是公认的解决方案。 – MandisaW

+0

这对我来说非常合适! – franzueto