android action bar text color
Cómo cambiar el color del texto de acción de ActionBar usando AppCompat (3)
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 principalSobrescriba su atributo
actionBarStyle
como seactionBarStyle
en todas partes en lasactionBarStyle
.
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