Подтвердить что ты не робот

Изменить цвет названия на панели инструментов?

У меня есть панель инструментов, которую я использую, и установите заголовок с помощью:

((ActionBarActivity)getActivity()).getSupportActionBar().setTitle("Home");

Есть ли способ изменить цвет с черного на белый?

Я попытался сделать свою собственную тему и установить ее в xml, как это, но не кубик:

<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>
4b9b3361

Ответ 1

Programatically:

toolbar.setTitleTextColor(0xFFFFFFFF);

Ответ 2

Согласно публикации в блоге " Тема против стиля " создателя AppCompat и публикации 21-й версии AppCompat, панель инструментов DarkActionBar (т.е. Toolbar с темным фоном и светлым текстом) может быть добавлена путем добавления android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" в XML- android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" вашей 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>

Это изменит цвет текста и цвета по умолчанию на многие атрибуты (например, ваш Spinner на светлый текст, необходимый для темного фона).

Ответ 3

Создайте новый стиль в основной теме приложения

  <style name="custom_toolbar" parent="@style/Widget.AppCompat.Toolbar">
        <item name="titleTextColor">#replace with color</item>
  </style>

и используйте стиль для панели инструментов

  <item name="toolbarStyle">@style/custom_toolbar</item>

Ответ 4

Я знаю, что есть много ответов выше надежды, это поможет кому-то, кто не понимает выше ответов.

Android имеет вид, называемый панелью инструментов. Этот вид имеет заголовок, который всегда берет в качестве цвета по умолчанию из ресурсов color.xml, имя элемента акцент. Вы можете изменить цвет панели инструментов двумя способами.

  • Через xml, который я рекомендую вам сделать, ниже вы можете увидеть пример

    <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
    
  • С программным обеспечением в рамках действия или фрагмента.

    Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
    toolbar.setTitleTextColor(ContextCompat.getColor(this, R.color.colorAccent));
    

Ответ 5

Если вы хотите изменить только цвет текста заголовка, Попробуйте это...

getSupportActionBar().setTitle(Html.fromHtml("<font color='#746E66'>"+titleText+"</font>"));

он работает..!!

Ответ 6

Чтобы расширить на tachyonflux, установить цвет с помощью HEX

 toolbar.setTitleTextColor(Color.parseColor("#519c3f"));

Ответ 7

toolbar.setTitleTextColor(GetResources() GetColor (R.color.black).);

(панель инструментов - это имя, которое вы предоставили своей панели инструментов в своем классе acitivyt) (В ваших цветах значения xml задают желаемые цвета и ссылаются на имя цвета, которое вы выбрали, как видно здесь, я сохраняю некоторые из моих основных цветов нормальными именами) Потратил меня на то, чтобы понять это сам, но это единственный способ заставить его работать, ThemEditor должен это допускать, но это то, что есть.

Ответ 8

В xml:

app: titleTextColor = "@color/White" как

<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" />

Ответ 9

Используйте этот код

<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" />

Ответ 10

Его можно изменить программно, как вы можете ответить выше. Но уменьшите сложность кода, вы должны изменить его с помощью style.xml Прежде всего создайте attrs.xml в папке res/values ​​ чем добавить две ссылки на папку attrs.xml, как показано ниже

attrs.xml

 <?xml version="1.0" encoding="utf-8"?>
 <resources>
    <attr name="toolbar_theme" format="reference" />
    <attr name="toolbar_theme_title" format="reference" />
</resources>

После устранения ссылки, чем создание стиля в style.xml, как показано ниже

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>

Теперь мы создали ссылку toolbar_theme и toolbar_theme_title в attrs.xml, чем дать эти ссылки нашей пользовательской теме в стиле . XML

Наконец, мы дадим эту ссылку на панель инструментов, как показано ниже

<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" />

Вот оно. Вы можете указать эту тему программно или установить в androidmanifest.xml, как показано ниже.

программно

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

или

 <activity
     android:theme="@style/CustomTheme">

Ответ 11

Вы можете определить собственный стиль панели инструментов, расширив Widget.AppCompat.Toolbar и установив свойства titleTextAppearance и subtitleTextAppearance. Таким образом вы можете изменить цвет и размер текста заголовка и субтитров панели инструментов для справки 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>

Ответ 12

Вы можете изменить тему своей панели действий, используя атрибут actionBarTheme, как показано ниже. Хотя он был добавлен в уровень API 21, он, похоже, совместим со старыми API-интерфейсами.

<style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="actionBarTheme">@style/AppTheme.AppBarOverlay</item>
</style>

Ответ 13

В Kotlin, используя ответ Sandip:

with(getSupportActionBar()) {
        val titleText: String = title.toString()
        setTitle(Html.fromHtml("<font color='#746E66'>" + titleText + "</font>"))
    }

Ответ 14

Вы можете изменить его программно, используя следующий код.

toolbar.setTitleTextColor(android.graphics.Color.WHITE);

Ответ 15

Внутри android.support.v7.widget.Toolbar добавьте эту строку:

local:titleTextColor="@color/the_color_you_want"