color bar android android-actionbar android-actionbar-compat

android action bar text color



Cómo cambiar el color del texto de acción de ActionBar usando AppCompat (3)

  1. Comprueba que en tu archivo xml de diseño no tienes un atributo android:theme especificado para tu <Toolbar> , que tendría prioridad sobre el tema principal

  2. Sobrescriba su atributo actionBarStyle como se actionBarStyle en todas partes en las actionBarStyle .

Estoy intentando cambiar el color del texto de un elemento del menú de acciones en la barra de acciones. Usando la aplicación compat. También el icono de desbordamiento no cambia también. Aquí está mi estilo personalizado archivos styles.xml.

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

El color del texto aún negro no cambia a blanco. ¿Alguien ha cambiado con éxito el color del texto del menú de acción? Por favor, sugiera algunas ideas. Estoy probando en el dispositivo 4.4 Nexus5.


Puede usar esto para cambiar el texto de la barra de acción independientemente de su versión de appcompat. Dé el código hexadecimal del color deseado y agréguelo a onCreate ().

actionBar.setTitle(Html.fromHtml("<font color=''#ff0000''>Some Title</font>"));


Utilizar

<item name="android:actionMenuTextColor">@color/font_half_white</item> // added style directly

En lugar de

<item name="android:actionMenuTextColor">@style/MyActionButtonStyle</item>

en res/values-14/styles.xml

En res/values/styles.xml

<item name="actionMenuTextColor">@color/font_half_white</item>

Utilicé un color rojo para la prueba. Ver el elemento de menú de acción Inicio que es rojo en el complemento

Editar:

Código Completo

En 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>

Luego en 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>

En manifiesto

android: theme = "@ style / AppBaseTheme">

Otro complemento