Android – Cambiar Título de Actionbar Text Color
Estoy desarrollando una aplicación y quiero change the textcolor of the actionbar title
. Ahora, definí un tema en mi manifiesto:
<application android:theme="@style/AppTheme"> </application>
Que se define en styles.xml:
- Tools: text para artículos de RecyclerView
- Android TextView con varias líneas
- Etiqueta vertical (girada) en Android
- Uso de varios colores de texto en la vista de texto de Android
- Cambiar tamaño de fuente en un AlertDialog
<style name="AppTheme" parent="android:style/Theme.Holo.Light"> <item name="android:textViewStyle">@style/AppTheme.TextView</item> <item name="android:actionBarStyle">@style/AppTheme.ActionBarStyle</item> </style> <style name="AppTheme.ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar"> <item name="android:titleTextStyle">@style/AppTheme.ActionBar.TitleTextStyle</item> </style> <style name="AppTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> <item name="android:textColor">@color/themeapp</item> </style> <style name="AppTheme.TextView" parent="@android:style/Widget.TextView"> <item name="android:textColor">#FFFFFF</item> </style>
Esto no funciona, pero no entiendo por qué. Esto debería funcionar de acuerdo con esta respuesta. Ni el estilo de vista de texto está funcionando.
¿que estoy haciendo mal?
UPDATE: cambiado para cumplir con Grace Feng respuesta a continuación
- ¿Es posible el estilo de los estilos de fuentes de Android con líder y el seguimiento?
- El valor de la vista de texto se restablece al cambiar el fragmento
- Android html.fromhtml + spannablestring
- Obtener texto vinculado de textview-android ...?
- Android ScrollView scrollTo () método no funciona con TextView?
- Android: conversión entre cadenas, SpannedStrings y Spannablestrings
- ¿Cómo puedo añadir un TextView a un LinearLayout dinámicamente en Android?
- ¿Cómo habilito la copia estándar para un TextView en Android?
Usando SpannableString
podemos establecer el color del texto del Actionbar title
de la Actionbar title
de Actionbar title
SpannableString s = new SpannableString(title); s.setSpan(new ForegroundColorSpan(Color.GREEN), 0, title.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); getSupportActionBar().setTitle(s);
<style name="AppTheme" parent="android:style/Theme.Holo.Light"> <style name="AppTheme.TextView" parent="android:Widget.TextView">
¿Has perdido un símbolo "@" aquí?
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
además
<style name="AppTheme.TextView" parent="@android:Widget.TextView">
Puedes encontrar cómo personalizar ActionBar
aquí . Recomiendo usar ToolBar
y Theme.AppCompat
en Theme.AppCompat
lugar – ejemplo .
Parece que has utilizado el style
lugar del theme
. Estilos y temas difieren . Reemplazar
<style name="AppTheme" parent="android:style/Theme.Holo.Light">
Con
<style name="AppTheme" parent="android:Theme.Light">
Estoy asumiendo que está utilizando ToolBar como ActionBar. De todas las respuestas creo que este es el más fácil de implementar. Y funciona en todas las versiones de api.
Asi que aqui esta,
El título de la barra de acción utiliza textColorPrimary como su color de texto. Así que para cambiar eso en styles.xml crear un nuevo estilo con un elemento para textColorPrimary y establecer cualquier color que usted necesita.
<style name="appBarTheme" parent="Theme.AppCompat.NoActionBar"> <item name="android:textColorPrimary">@color/colorRed</item> </style>
Ahora agrega ese estilo como tu tema para la barra de herramientas en el xml.
<android.support.v7.widget.Toolbar android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_scrollFlags="enterAlways" android:id="@+id/toolbar" android:theme="@style/appBarTheme"> </android.support.v7.widget.Toolbar>
Y ahora tienes lo que necesitas.
Gracias
Sólo app:titleTextColor="@color/CUSTOM_COLOR"
añadir la app:titleTextColor="@color/CUSTOM_COLOR"
así:
<android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/yellow_light" app:titleTextColor="@color/CUSTOM_COLOR" app:popupTheme="@style/AppTheme.PopupOverlay"/>
Cuando tengo el mismo problema, he utilizado:
<item name="titleTextStyle">@style/ActionBarTextStyle</item> <item name="android:titleTextStyle">@style/ActionBarTextStyle</item>
Creo que es sólo el problema de su actividad. He utilizado el mismo código que usted, y funciona.
En primer lugar, he utilizado AppCompatActivity como la actividad base y obtener error. Y luego uso la actividad y funciona. En mi opinión, su código es el uso de tema para Theme.Holo, y ahora utilizamos Theme.AppCompat. Tan si usted quiere el cambio, apenas la referencia que cambia el fondo y el color de texto del tema ligero de AppCompat DarkActionBar en androide . Funciona para mí. Buena suerte para ti.
Vagando por StackOverflow Encontré esta respuesta que finalmente funcionó.
Lo reporto aquí:
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"> <item name="android:actionBarStyle">@style/ActionBar</item> ... </style> <style name="ActionBar" parent="@android:style/Widget.ActionBar"> <item name="android:titleTextStyle">@style/ActionBar.Title</item> <item name="android:subtitleTextStyle">@style/ActionBar.Subtitle</item> ... </style> <style name="ActionBar.Title"> <item name="android:textColor">@color/my_color</item> </style> <style name="ActionBar.Subtitle"> <item name="android:textColor">@color/my_color</item> </style>
No conozco la solución, pero pude cambiar el color del texto entre blanco y negro con este método.
Así, en el styles.xml que tiene:
<resources> <style name="AppTheme" parent="Theme.AppCompat.DayNight.DarkActionBar"> <item name="colorPrimary">#673AB7</item> <item name="colorPrimaryDark">#512DA8</item> <item name="colorAccent">#FF4081</item> </style> </resources>
Si cambia lo que hay dentro del padre = "…" a temas oscuros o claros, adapta el color de texto a estos temas. Por ejemplo, ahora tienes un tema oscuro, y el texto es blanco, pero cuando cambio a "Theme.AppCompat.Light" el color del texto se vuelve negro.
Espero que ayude de alguna manera.
Cambie el tema Activity
como:
<style name="ThemeName" parent="android:Theme.Holo.Light"> <item name="android:actionMenuTextColor">@color/white</item> </style>
Añada esta línea a su barra de herramientas xml app:titleTextColor="@android:color/white"
Ahora ejecute el color de la aplicación cambiado!
- Pre-adivinar tamaño de mapa de bits de la actual Uri, antes de la escala de carga
- Conectividad Ethernet a través de programación (Android) (dispositivo enraizado)