Темная панель действий с белым выпадающим меню из Holo Light

У меня есть настраиваемая тема с родительским @android: style/Theme.Holo.Light.DarkActionBar Я хочу изменить раскрывающееся меню в белую версию (см. Изображение)

Я просмотрел несколько примеров, но они не сработали для меня, возможно ли просто переопределить выпадающее меню из DarkActionBar со световой версией?

(я не использую панель действий sherlock)

enter image description here

Ответы

Ответ 1

Это сработало для меня. Надеюсь, что это поможет:

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

Ответ 2

используйте тот же контекст actionBar, чтобы создать PopupMenu

actionBar.getThemedContext()

Итак,

ActionBar actionBar = ((ActionBarActivity). GetActivity()) getSupportActionBar();
PopupMenu popMenu = new PopupMenu (actionBar.getThemedContext(), anyView);