Question

I have:

 <style name="AppTheme" parent="Theme.Sherlock.Light">
       <item name="actionBarStyle">@style/AppTheme.ActionBar</item>     
       <item name="actionMenuTextColor">#fff</item>
 </style>

 <style name="AppTheme.ActionBar" parent="@style/Widget.Sherlock.ActionBar">
         <item name="android:textStyle">@style/AppTheme.ActionBar.Text</item>
 </style>

 <style name="AppTheme.ActionBar.Text" parent="@android:style/TextAppearance">
          <item name="android:textColor">#fff</item>
 </style>

and in option_menu.xml

<item
        android:id="@+id/menu_save"

        android:showAsAction="always"
        android:title="@string/save"
        android:visible="true"/> 

and i tried this

and this

SpannableString s = new SpannableString(menu.findItem(R.id.menu_save).getTitle());
        s.setSpan(new ForegroundColorSpan(Color.WHITE), 0, s.length(), 0);      
        menu.findItem(R.id.menu_save).setTitle(s);

But text of this item still black. How can i change it to white?

Was it helpful?

Solution

Ok, i did it by setting actionViewClass:

 <item
        android:id="@+id/context_menu_save"
        android:actionViewClass="ru.seopult.cybermarketing.view.TextViewPlus"
        android:showAsAction="always"
        android:title="@string/save"
        android:visible="false"/> 

and in style.xml:

<style name="AppTheme.ActionBar.TextButton" parent="AppTheme">
        <item name="android:textSize">15sp</item> 
        <item name="android:textColor">#FFFFFF</item>    
    </style>

then in onCreateOptionsMenu wrote:

TextViewPlus text = ((TextViewPlus)menu.findItem(R.id.context_menu_save).getActionView());
        text.setTextAppearance(getActivity().getApplicationContext(), R.style.AppTheme_ActionBar_TextButton);
        text.setText(menu.findItem(R.id.context_menu_save).getTitle());
        text.setPadding(0, 0, 10, 0);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top