studio - agregar icono action bar android
¿Cambiar el color del título en la barra de herramientas? (14)
Crear un nuevo estilo en el tema base de la aplicación
<style name="custom_toolbar" parent="@style/Widget.AppCompat.Toolbar">
<item name="titleTextColor">#replace with color</item>
</style>
y usa el estilo para la barra de herramientas
<item name="toolbarStyle">@style/custom_toolbar</item>
Tengo una barra de herramientas que uso y establezco un título con:
((ActionBarActivity)getActivity()).getSupportActionBar().setTitle("Home");
¿Hay alguna manera de cambiar el color de negro a blanco?
Intenté crear su propio tema y configurarlo en el xml de esta manera, pero sin dados:
<resources>
<!-- Base application theme. -->
<style name="AppTheme2" parent="Theme.AppCompat">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
<item name="android:textColorPrimary">@color/primary_text</item>
<item name="android:textColorSecondary">@color/secondary_text</item>
</style>
<style name="Widget.MyApp.ActionBar" parent="Widget.AppCompat.ActionBar">
<item name="android:background">@color/primary</item>
<item name="theme">@style/ThemeOverlay.MyApp.ActionBar</item>
<item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
</style>
<style name="ThemeOverlay.MyApp.ActionBar" parent="ThemeOverlay.AppCompat.ActionBar">
<item name="android:textColorPrimary">#FFFFFF</item>
</style>
</resources>
XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#e5e5e5"
android:orientation="vertical" >
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:minHeight="?attr/actionBarSize"
android:background="@color/primary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Widget.MyApp.ActionBar">
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/statsSpin"
android:spinnerMode="dropdown"
android:textColor="#FFFFFF"/>
</android.support.v7.widget.Toolbar>
<ListView
android:id="@+id/yourStats"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:dividerHeight="0px"
android:divider="@null"
>
</ListView>
</LinearLayout>
En Kotlin, usando la respuesta de Sandip:
with(getSupportActionBar()) {
val titleText: String = title.toString()
setTitle(Html.fromHtml("<font color=''#746E66''>" + titleText + "</font>"))
}
En xml:
app: titleTextColor = "@ color / White" como
<android.support.v7.widget.Toolbar
android:id="@+id/tb_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
app:theme="@style/AppTheme.DarkToolbar"
app:titleTextColor="@color/White" />
Para extender en tachyonflux, para establecer el color con un HEX
toolbar.setTitleTextColor(Color.parseColor("#519c3f"));
Programáticamente:
toolbar.setTitleTextColor(0xFFFFFFFF);
Puede cambiar el tema de su barra de acción usando el atributo actionBarTheme de la siguiente manera. Aunque se ha agregado en el nivel 21 de la API, parece ser compatible con las API más antiguas.
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="actionBarTheme">@style/AppTheme.AppBarOverlay</item>
</style>
Puede definir el estilo de la barra de herramientas personalizada extendiendo Widget.AppCompat.Toolbar y configurando las propiedades titleTextAppearance y subtitleTextAppearance. De esta manera, puede cambiar el color y el tamaño del texto del título y el subtítulo de la barra de herramientas como referencia http://www.zoftino.com/android-toolbar-tutorial .
<style name="MyAppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="toolbarStyle">@style/MyToolBarStyle</item>
</style>
<style name="MyToolBarStyle" parent="Widget.AppCompat.Toolbar">
<item name="titleTextAppearance">@style/MyTitleTextAppearance</item>
<item name="subtitleTextAppearance">@style/MySubTitleTextAppearance</item>
</style>
<style name="MyTitleTextAppearance" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
<item name="android:textSize">25dp</item>
<item name="android:textColor">#ff3d00</item>
</style>
<style name="MySubTitleTextAppearance" parent="TextAppearance.Widget.AppCompat.Toolbar.Subtitle">
<item name="android:textSize">20dp</item>
<item name="android:textColor">#1976d2</item>
</style>
Puedes cambiarlo programáticamente usando el siguiente código.
toolbar.setTitleTextColor(android.graphics.Color.WHITE);
Sé que hay muchas respuestas por encima de la esperanza, ayudará a alguien que no entiende las respuestas anteriores.
Android tiene una vista llamada Barra de herramientas. Esta vista tiene un título que siempre toma como color predeterminado de los recursos color.xml cuyo nombre de elemento es el acento . Puedes cambiar el color de la barra de herramientas de dos maneras.
A través de XML, te recomiendo que hagas eso, aquí abajo puedes ver un ejemplo.
<android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:titleTextColor="@color/White" />Here you can change it.Remember APP attribute not ANDROID
Vía programáticamente dentro de la actividad o fragmento.
Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar); toolbar.setTitleTextColor(ContextCompat.getColor(this, R.color.colorAccent));
Se puede cambiar programáticamente como puedes contestar arriba. Pero reduzca la complejidad del código, debe cambiarlo a través de style.xml En primer lugar, cree attrs.xml en la carpeta res / values en lugar de agregar dos referencias a la carpeta attrs.xml como se muestra a continuación
attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="toolbar_theme" format="reference" />
<attr name="toolbar_theme_title" format="reference" />
</resources>
Después de la definición de referencia, cree un estilo en style.xml como a continuación
style.xml
<style name="CustomTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">#00A4E4</item>
<item name="colorPrimaryDark">#AB0634</item>
<item name="colorAccent">#AB0634</item>
<item name="toolbar_theme">@style/CustomTheme.Toolbar</item>
<item name="toolbar_theme_title">@style/CustomTheme.Toolbar.Title</item>
<item name="android:textColorPrimary">@color/black</item>
<item name="android:textColorSecondary">@android:color/black</item>
<item name="windowActionModeOverlay">true</item>
</style>
<style name="CustomTheme.Toolbar" parent="ThemeOverlay.AppCompat.ActionBar">
<!-- if you have a navigationdrawer you change it color also -->
<item name="colorControlNormal">#AB0634</item>
</style>
<style name="CustomTheme.Toolbar.Title" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
<!-- Set title size -->
<item name="android:textSize">@dimen/abc_text_size_title_material_toolbar</item>
<!-- Set title color -->
<item name="android:textColor">#AB0634</item>
</style>
Ahora hemos creado las referencias de toolbar_theme y toolbar_theme_title en attrs.xml que dan estas referencias a nuestro tema personalizado en style.xml
Finalmente damos esta referencia a la barra de herramientas como abajo.
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="?attr/toolbar_theme"
app:titleTextAppearance="?attr/toolbar_theme_title"
android:elevation="4dp"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
Eso es. Puede dar este tema programáticamente o establecerlo en androidmanifest.xml como a continuación.
programáticamente
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(R.style.CustomTheme); // (for Custom theme)
this.setContentView(R.layout.myactivity);
androidmanifest.xml
<application
android:theme="@style/CustomTheme">
o
<activity
android:theme="@style/CustomTheme">
Según la publicación del blog Theme vs Style del creador de AppCompat y la publicación de la versión 21 de AppCompat , se puede realizar una barra de herramientas DarkActionBar (es decir, una Toolbar
con un fondo oscuro y texto claro), agregando android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
al XML de su Toolbar
de Toolbar
:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:minHeight="?attr/actionBarSize"
android:background="@color/primary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/statsSpin"
android:spinnerMode="dropdown"/>
</android.support.v7.widget.Toolbar>
Esto cambiará el color del texto y los colores predeterminados a muchos atributos (como su Spinner
para iluminar el texto según sea necesario para el fondo oscuro).
Si solo desea cambiar el color del texto del título, pruebe este.
getSupportActionBar().setTitle(Html.fromHtml("<font color=''#746E66''>"+titleText+"</font>"));
funciona..!!
Usa este codigo
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
app:titleTextColor="@color/colorAccent"
app:theme="@style/ToolbarColoredBackArrow"
app:subtitleTextColor="@color/colorAccent"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
toolbar.setTitleTextColor (getResources (). getColor (R.color.black));
(barra de herramientas es el nombre que le ha dado a su barra de herramientas en su clase de actividad) (En sus valores de colores, xml establezca los colores deseados y haga referencia al nombre del color que eligió, como se ve aquí, conservo algunos de mis nombres normales de colores principales) Me tomo un tiempo para resolver esto, pero esta es la única forma en que puedo hacerlo funcionar, el ThemEditor debería permitirlo pero es lo que es.