私が開発しているアプリケーションは 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 から継承するようにすると、問題は解決し、テキストは白くなりますが、残念ながらそれはオプションではありません。