私は Android アプリに取り組んでおり、互換性のために ActionBarSherlock を使用しています。オーバーフロー メニュー項目のテキストの色を変更したいという事実を除いて、これまでのところすべてうまく機能しています。
現在の外観は次のとおりです。
この理由は、Holo.Light.DarkActionBar を Base テーマとして使用しているためです。これは、アイコンが白く、ActionBar のタイトルとサブタイトルなどのテキストが白くなるためです。
私の知る限り、この質問に従って、次を簡単に変更できるはずです。
<!-- For Values -->
<style name="Theme.Laprensa_compat_holo_light_dark_action_bar" parent="@style/Theme.Sherlock.Light.DarkActionBar">
<item name="spinnerItemStyle">@style/SpinnerItemStyle</item>
<!-- For Values-v14 -->
<style name="Theme.Laprensa_compat_holo_light_dark_action_bar" parent="@style/Theme.Sherlock.Light.DarkActionBar">
<item name="android:spinnerItemStyle">@style/SpinnerItemStyle</item>
そして、次のSpinnerItemStyle
とおりです。
<style name="SpinnerItemStyle" parent="Widget.Sherlock.TextView.SpinnerItem">
<item name="android:textColor">@android:color/black</item>
</style>
今、それは機能していないようですので、追加しました
<item name="spinnerItemStyle">@style/SpinnerItemStyle</item>
子供のテーマにも:
<style name="ActionBar.Solid.Laprensa_compat_holo_light_dark_action_bar" parent="@style/Widget.Sherlock.Light.ActionBar.Solid.Inverse">
それはまだ行きません。
私が参照した回答では、正しいアダプター レイアウトを使用していることを確認する必要があると述べていますが、実際には、自分でコードを手動で膨らませているわけではなく、通常のonCreateOptionsMenu
実装です。
テキストを黒くするために何を変更できるかについてのアイデアはありますか? また、変更はアクション バー自体でホストされactionMenuTextColor
ている項目に対するものであり、オーバーフロー メニュー項目は変更されないことを知っておく必要があります。
編集マティアスの答えに従って、次のスタイルを試しました:
<style name="TextAppearance.Styled.Widget.PopupMenu.Large" parent="TextAppearance.Sherlock.Widget.PopupMenu.Large">
<item name="android:textColor">@android:color/black</item>
</style>
そしてそれをメインテーマで使用しました:
<style name="Theme.Laprensa_compat_holo_light_dark_action_bar" parent="@style/Theme.Sherlock.Light.DarkActionBar">
<item name="textAppearanceLargePopupMenu">@style/TextAppearance.Styled.Widget.PopupMenu.Large</item>
</style>
しかし、テキストはまだ表示されません。