2014-01-14 40 views
16

我有一個自定義的主題與父母@android:風格/ Theme.Holo.Light.DarkActionBar 我想將下拉菜單更改爲白色版本(請參閱圖像)黑色的操作欄與Holo Light的白色下拉菜單

我查了一些例子,但他們沒有爲我工作,是否有可能只是覆蓋從LightActionBar的輕型版本的下拉菜單?

(我不使用大偵探動作條)

enter image description here

+0

我傾向於只使用這個http://jgilfelt.github.io/android-actionbarstylegenerator/ – Broak

+0

看看這個帖子,[http://stackoverflow.com/questions/16878662/how-to-set- android-popupmenu-to-white]的背景(http://stackoverflow.com/questions/16878662/how-to-set-the-background-of-android-popupmenu-to-white)我認爲它是同一個問題。 – JoeyPhillips

回答

20

這爲我工作。希望它能幫助:

<style name="YOUR_DARK_AB_THEME"> 
    <item name="android:actionBarWidgetTheme">@style/YourActionBarWidget</item> 
</style> 

<!-- This helps the PopupMenu stick with Light theme while the ActionBar is in Dark theme --> 
<style name="YourActionBarWidget" 
    parent="android:Theme.Holo.Light"> 
    <item name="android:popupMenuStyle">@android:style/Widget.Holo.Light.PopupMenu</item> 
    <item name="android:dropDownListViewStyle">@android:style/Widget.Holo.Light.ListView.DropDown</item> 
</style> 
+1

完美地工作。 –

+7

任何機會,只是在Light.DarkActionbar不起作用?我不斷得到黑暗的下拉。 - 似乎沒有默認的黑暗工作。也許是因爲我使用的是AppCompat –

+0

我使用AppCompat – Leon

1

使用動作條的同樣情況下創建的彈出菜單

actionBar.getThemedContext()

所以,

動作條動作條=( (ActionBarActivity) getActivity())。getSupportActionBar();
PopupMenu popMenu = new PopupMenu(actionBar.getThemedContext(),anyView);