如何使用Sherlock操作栏主题将溢出菜单项的文本颜色更改为其他颜色

时间:2012-07-23 15:18:38

标签: android styles themes actionbarsherlock

我试图找出,如何使用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 但问题只有一半,关于更改溢出菜单背景。

如何更改溢出菜单项的文本颜色?

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

经过大量搜索后,可以修改ActionBar的{​​{1}}的 OverflowMenu 中的文字颜色ActionBarSherlock。仅在父样式元素下具有以下主题样式。仍然没有检查ActionBar内的所有小部件是否已更改。如果发现,请原谅。

res\values\styles.xml

<style name="Theme.Zname" parent="@style/Theme.Sherlock.Light">
    <item name="actionBarItemBackground">@drawable/selectable_background_zname</item>
    <item name="actionBarWidgetTheme">@style/Overflow.Text.Color</item>
</style>

<style name="Overflow.Text.Color" parent="Widget">
        <item name="android:textColor">@android:color/white</item>
</style>

res\values-v14\styles.xml

<style name="Theme.Zname" parent="@style/Theme.Sherlock.Light">
    <item name="actionBarItemBackground">@drawable/selectable_background_zname</item>
    <item name="android:actionBarWidgetTheme">@style/Overflow.Text.Color</item>
</style>

<style name="Overflow.Text.Color" parent="Widget">
        <item name="android:textColor">@android:color/white</item>
</style>