4

sherlock アクション バーを使用して、メニュー項目のテキストの色を別の色に変更する方法を理解しようとしていました。以下は私が試したテーマです

      <style name="MYTHEME" parent="Theme.Sherlock.Light.ForceOverflow">

         <item name="android:actionMenuTextColor">@color/menu_color</item>
         <item name="actionMenuTextColor">@color/menu_color</item>


        <item name="android:actionDropDownStyle">@style/MYTHEME.ActionBarStyle.DropDownStyle</item>
        <item name="actionDropDownStyle">@style/MYTHEME.ActionBarStyle.DropDownStyle</item>  

      </style>   

      <style name="MYTHEME.ActionBarStyle.DropDownStyle" parent="Widget.Sherlock.Spinner.DropDown.ActionBar">
        <item name="android:textColor">@color/menu_color</item>
      </style>

上記のものを使用してメニュー項目の色を変更できましたが、「actionDropDownStyle」を介してオーバーフロー メニュー項目の色を変更できませんでした...

リンクhttps://groups.google.com/forum/#!msg/actionbarsherlock/5lHOKNlXn_4/f9XicMXbFFAJも見ました が、オーバーフローメニューの背景の変更についての質問に対する答えは半分しかありませんでした。

オーバーフロー メニュー項目のテキストの色を変更する方法はありますか?

4

2 に答える 2

4

たとえば、ActionBarSherlock ライブラリによって提供されるものをオーバーライドして、カスタム スピナー スタイルを作成する必要があります。

<style name="SpinnerItemStyle" parent="Widget.Sherlock.TextView.SpinnerItem">
    <item name="android:textColor">@android:color/white</item>
    <item name="android:textSize">22sp</item>
    <item name="android:textStyle">bold</item>
    <item name="android:padding">4dp</item>
    <item name="android:gravity">left|center_vertical</item>        
</style>

次に、それをテーマの spinnerItemStyle アイテムで参照します。

<item name="spinnerItemStyle">@style/SpinnerItemStyle</item>

編集:

注: アダプターに com.actionbarsherlock.R.layout.sherlock_spinner_dropdown_item がドロップダウン アイテムとして、com.actionbarsherlock.R.layout.sherlock_spinner_item がスピナー アイテムとして含まれていることを確認してください。

ArrayAdapter<String> navigationAdapter = new ArrayAdapter<String>(context, com.actionbarsherlock.R.layout.sherlock_spinner_item, navigationItems);
navigationAdapter.setDropDownViewResource(com.actionbarsherlock.R.layout.sherlock_spinner_dropdown_item);
于 2012-07-23T15:21:07.980 に答える