В приложении, которое я разрабатывал, используется ActionBarSherlock, а основная тема наследуется от Theme.Sherlock.Light.DarkActionBar. Дизайн требует, чтобы всплывающие окна переполнения имели темный цвет фона и белый текст. Это отлично работает для устройств без физической кнопки меню, и текст выглядит белым, как предполагалось. Однако, если устройство имеет физическую кнопку меню, текст, отображаемый в отображаемом меню, остается черным.
Моя основная тема содержит
<item name="android:panelBackground">@drawable/menu_hardkey_panel</item>
... Где @drawable/menu_hardkey_panel - 9patch темного цвета.
Полученный внешний вид всплывающего меню...
Я не могу определить, почему это происходит, или как вручную изменить цвет текста. В моей основной теме я пробовал все следующие...
<item name="android:actionMenuTextColor">@android:color/white</item>
<item name="android:textAppearanceLargePopupMenu">@style/MyMenuTextAppearance.Large</item>
<item name="android:textAppearanceSmallPopupMenu">@style/MyMenuTextAppearance.Small</item>
Я даже пробовал
<item name="android:actionBarWidgetTheme">@style/Theme.MyApp.Dark</item>
... Где Theme.MyApp.Dark...
<style name="Theme.MyApp.Dark" parent="@style/Theme.Sherlock">
<item name="android:dropDownListViewStyle">@style/DropDownListView</item>
<item name="dropDownListViewStyle">@style/DropDownListView</item>
</style>
Никто не позволил мне изменить текст на белый. Если я наследую основную тему на Theme.Sherlock, проблема решена и текст белый, но, к сожалению, это не вариант.