2013-06-02 3 views
6

Я борюсь с настройкой фона PopupMenu. После того, как я разобрался с ним, я обнаружил, что он должен перейти к теме приложения. Чтобы быть более конкретным, это должно быть определено в файле style.xml.Как установить фон Android PopupMenu на белый

<style name="AppTheme" parent="AppBaseTheme"> 
    <item name="android:popupMenuStyle">MY_STYLE</item> 
</style> 

Однако, я действительно не понять, какой стиль именно я должен использовать, как я предполагаю, что есть встроенный в один. Я пробовал с @android:style/Widget.Holo.PopupMenu и @android:style/Widget.Holo.Light.PopupMenu, но не повезло.

+0

См. Ответ на это [qustion] (http://stackoverflow.com/questions/12636101/how-to-style-popupmenu) – Bishan

+0

Я видел это на самом деле; Я попытался с установкой 'popupMenuStyle'' Widget.Holo.Light.PopupMenu', а также 'popupBackground' на' @android: color/background_light', но он все равно не работает. – joe7wu

ответ

6

Например, попробовать что-то вроде этого:

<style name="Theme.MyAppTheme" parent="@style/Theme.Holo.Light"> 
    <item name="popupMenuStyle">@style/PopupMenu.MyAppTheme</item> 
</style> 

И тогда на самом стиле:

<style name="PopupMenu.MyAppTheme" parent="@style/Widget.Holo.Light.ListPopupWindow"> 
    <item name="android:popupBackground">@drawable/popup_menu_bg_color</item> 
</style> 

То есть так, как это делается с помощью ActionBarStyleGenerator и некоторые старые ссылки здесь на Developer Site.

+0

Благодарим вас за ответ. Но где @ drawable/pop_menu_bg_color? Я не нашел его в res, созданном ActionBarStyleGenerator. – joe7wu

+0

Хорошо, решено. – joe7wu

+0

Это должно быть: parent = "@ android: style/Widget.Holo.Light.ListPopupWindow" –