I am trying to change the text color of a action menu item on the action bar. Using app compat. Also the overflow icon doesnt change too. Here is my custom styled styles.xml files.
res/values/styles.xml
<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
<!-- Setting values in the default namespace affects API levels 7-13 -->
<item name="actionBarStyle">@style/MyStyledActionBar</item>
</style>
<style name="MyStyledActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
<!-- Setting values in the default namespace affects API levels 7-13 -->
<item name="background">@drawable/bg_action_bar</item>
<item name="titleTextStyle">@style/MyActionBarTitleText</item>
<item name="actionMenuTextAppearance">@style/MyActionBarMenuText</item>
<item name="actionMenuTextColor">@style/MyActionBarMenuText</item>
<item name="actionOverflowButtonStyle">@style/MyActionButtonOverFlow</item>
</style>
<style name="MyActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/font_half_white</item>
</style>
<style name="MyActionBarMenuText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Menu">
<item name="android:textColor">@color/font_half_white</item>
</style>
<style name="MyActionButtonOverFlow" parent="@style/Widget.AppCompat.Light.ActionButton.Overflow">
<item name="android:src">@drawable/ic_action_search</item>
</style>
res/values-14/styles.xml
<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
<!-- Setting values in the android namespace affects API levels 14+ -->
<item name="android:actionBarStyle">@style/MyStyledActionBar</item>
</style>
<style name="MyStyledActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
<!-- Setting values in the android namespace affects API levels 14+ -->
<item name="android:background">@drawable/bg_action_bar</item>
<item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
<item name="android:actionMenuTextAppearance">@style/MyActionBarMenuText</item>
<item name="android:actionMenuTextColor">@style/MyActionBarMenuText</item>
<item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverFlow</item>
</style>
<style name="MyActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/font_half_white</item>
</style>
<style name="MyActionBarMenuText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Menu">
<item name="android:textColor">@color/font_half_white</item>
</style>
<style name="MyActionButtonOverFlow" parent="@style/Widget.AppCompat.Light.Base.ActionButton.Overflow">
<item name="android:src">@drawable/ic_action_search</item>
</style>
res/colors.xml #F3F3F3
The text color still black doesnt change to white. Has anybody successfully changed the action menu text color. Please suggest some insights. I am testing on 4.4 Nexus5 device.
In this article, you will learn how to change the colour of the Action Bar in an Android App. There are two ways to change color. By changing styles.xml file: Just go to res/values/styles.xml file. edit the xml file to change the color of action bar. Code for styles.xml is given below.
If you want to style the action bar to better fit your product brand, you can easily do so using Android's style and themeresources. Android includes a few built-in activity themes that include "dark" or "light" action bar styles. You can also extend these themes to further customize the look for your action bar.
Android Action Bar Style Generator The action bar provides your users a familiar and predictable way to perform actions and navigate your app, but that doesn't mean it needs to look exactly the same as it does in other apps.
How to Customize AppCompat EditText in Android? - GeeksforGeeks How to Customize AppCompat EditText in Android? The EditText is one of the important UI element which takes the data as input from the user.
Use
<item name="android:actionMenuTextColor">@color/font_half_white</item>
// added style directly
Instead of
<item name="android:actionMenuTextColor">@style/MyActionButtonStyle</item>
in res/values-14/styles.xml
In res/values/styles.xml
<item name="actionMenuTextColor">@color/font_half_white</item>
I used a Red Color for testing. See the Action menu Item Home that is red in the snap
Edit:
Full Code
In res/values-14/styles.xml
<resources>
<!--
Base application theme for API 14+. This theme completely replaces
AppBaseTheme from BOTH res/values/styles.xml and
res/values-v11/styles.xml on API 14+ devices.
-->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- API 14 theme customizations can go here. -->
<item name="android:actionMenuTextColor">@color/red</item>
</style>
</resources>
Then in res/values/stles.xml
<resources>
<style name="AppBaseTheme" parent="Theme.AppCompat.Light">
<!-- API 11 theme customizations can go here. -->
<item name="actionMenuTextColor">@color/red</item>
</style>
</resources>
In manifest
android:theme="@style/AppBaseTheme" >
Another snap
You can use this to change the text of the Action Bar irrespective of your appcompat version.Give the desired color's hex code and add this in the onCreate().
actionBar.setTitle(Html.fromHtml("<font color='#ff0000'>Some Title</font>"));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With