2013-06-03 150 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