Changing the color of the text of the options menu when using the application: showAsAction = "always"

I use the toolbar and use the option for appropriate actions. My problem is that I want to show the text โ€œSAVEโ€ on the toolbar with white color, I apply many styles, but it always looks black. But when the option appears as a popup, the text color is always white. I google this a lot but have no solution.

Here is my code:

Toolbar

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/tools" android:id="@+id/my_awesome_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:theme="@android:style/ThemeOverlay.Material.Light" app:popupTheme="@style/Theme.AppCompat.NoActionBar" android:background="@drawable/tb_header" android:minHeight="?attr/actionBarSize"/> 

styles

  <style name="MStyle" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowBackground">@android:color/white</item> <item name="android:colorBackground">@android:color/black</item> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorAccent">@color/colorAccent</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="android:textAllCaps">false</item> <item name="android:popupMenuStyle">@style/MyPopupMenu</item> <item name="android:panelBackground">@android:color/holo_green_light</item> <item name="android:actionBarWidgetTheme">@style/AppTheme</item> </style> <style name ="MyPopupMenu" parent="android:Theme.Holo.Light"> <item name="android:popupBackground">@android:color/holo_green_light</item> </style> ****Option menu**** <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context="com.doubtfire.userprofiles.ParentProfileActivity"> <item android:id="@+id/action_skip" android:title="@string/menu_str_skip" android:orderInCategory="100" app:showAsAction="always" /> </menu> ****I even apply code at onPrepareOptionMenu**** @Override public boolean onPrepareOptionsMenu(Menu menu) { for (int i=0; i<menu.size(); i++) { MenuItem mi = menu.getItem(i); String title = mi.getTitle().toString(); Spannable newTitle = new SpannableString(title); newTitle.setSpan(new ForegroundColorSpan(Color.WHITE), 0, newTitle.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); mi.setTitle(newTitle); } return true; } 
+7
android optionmenu material-design android-toolbar
source share
2 answers

Use

 <item name="android:actionMenuTextColor">#FFFFFF</item> 

in MStyle as below:

 <style name="MStyle" parent="Theme.AppCompat.Light.NoActionBar"> ... <item name="android:actionMenuTextColor">#FFFFFF</item> <!-- for appcompat--> <item name="actionMenuTextColor">#FFFFFF</item> </style> 

This is the color change of the menu item when the SAVE element is visible on the ActionBar

+8
source share

To change the color of the text in the Toolbar , use the code below.

 <style name="MStyle" parent="Theme.AppCompat.Light.NoActionBar"> .... <item name="actionMenuTextColor">#FFFFFF</item> </style> 
+2
source share

All Articles