Bagaimana Anda menyetel warna judul untuk Toolbar baru?

119

Saya menggunakan Toolbar v7 baru dan selama ini saya tidak tahu cara mengubah warna judul. Saya telah menyetel @style dari Toolbar ke gaya yang dideklarasikan dalam styles.xml dan menerapkan titleTextStyle dengan textColor. Apakah saya melewatkan sesuatu? Saya membuat kode untuk Lollipop tetapi saat ini sedang menguji di perangkat Kitkat.

styles.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="@style/Theme.AppCompat.Light">
        <item name="android:windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
    </style>

    <style name="ActionBar" parent="Theme.AppCompat">
        <item name="android:background">@color/actionbar_background</item>
        <item name="android:titleTextStyle">@style/ActionBar.TitleTextStyle</item>
    </style>

    <style name="ActionBar.TitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textColor">@color/actionbar_title_text</item>
    </style>

</resources>

actionbar.xml:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar_actionbar"
    android:layout_width="match_parent"
    android:layout_height="?actionBarSize"
    style="@style/ActionBar"/>
Dennis
sumber

Jawaban:

241

Opsi 1) Cara cepat dan mudah (hanya Toolbar)

Sejak appcompat-v7-r23 Anda bisa menggunakan atribut berikut secara langsung pada Anda Toolbaratau gayanya:

app:titleTextColor="@color/primary_text"
app:subtitleTextColor="@color/secondary_text"

Jika SDK minimum Anda adalah 23 dan Anda menggunakan native, Toolbarcukup ubah awalan namespace menjadi android.

Di Java, Anda dapat menggunakan metode berikut:

toolbar.setTitleTextColor(Color.WHITE);
toolbar.setSubtitleTextColor(Color.WHITE);

Metode ini menggunakan warna int, bukan ID sumber daya warna!

Opsi 2) Ganti gaya Toolbar dan atribut tema

layout / xxx.xml

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?attr/actionBarSize"
    android:theme="@style/ThemeOverlay.MyApp.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    style="@style/Widget.MyApp.Toolbar.Solid"/>

nilai / gaya.xml

<style name="Widget.MyApp.Toolbar.Solid" parent="Widget.AppCompat.ActionBar">
    <item name="android:background">@color/actionbar_color</item>
    <item name="android:elevation" tools:ignore="NewApi">4dp</item>
    <item name="titleTextAppearance">...</item>
</style>

<style name="ThemeOverlay.MyApp.ActionBar" parent="ThemeOverlay.AppCompat.ActionBar">
    <!-- Parent theme sets colorControlNormal to textColorPrimary. -->
    <item name="android:textColorPrimary">@color/actionbar_title_text</item>
</style>

Tolong! Ikon saya juga berubah warna!

@PeterKnut melaporkan bahwa ini memengaruhi warna tombol luapan, tombol laci navigasi, dan tombol kembali. Ini juga mengubah warna teks SearchView.

Mengenai warna ikon: colorControlNormalMewarisi dari

  • android:textColorPrimary untuk tema gelap (putih di atas hitam)
  • android:textColorSecondary untuk tema terang (hitam putih)

Jika Anda menerapkan ini ke tema bilah tindakan , Anda dapat menyesuaikan warna ikon.

<item name="colorControlNormal">#de000000</item>

Ada bug di appcompat-v7 hingga r23 yang mengharuskan Anda untuk juga mengganti mitra native seperti:

<item name="android:colorControlNormal" tools:ignore="NewApi">?colorControlNormal</item>

Tolong! SearchView saya berantakan!

Catatan: Bagian ini mungkin sudah usang.

Karena Anda menggunakan widget pencarian yang karena alasan tertentu menggunakan panah kembali berbeda (tidak secara visual, secara teknis) dari yang disertakan dengan appcompat-v7, Anda harus menyetelnya secara manual di tema aplikasi . Drawable library dukungan diwarnai dengan benar. Jika tidak maka akan selalu putih.

<item name="homeAsUpIndicator">@drawable/abc_ic_ab_back_mtrl_am_alpha</item>

Sedangkan untuk teks tampilan pencarian ... tidak ada cara mudah. Setelah menggali sumbernya, saya menemukan cara untuk masuk ke tampilan teks. Saya belum menguji ini jadi tolong beri tahu saya di komentar jika ini tidak berhasil.

SearchView sv = ...; // get your search view instance in onCreateOptionsMenu
// prefix identifier with "android:" if you're using native SearchView
TextView tv = sv.findViewById(getResources().getIdentifier("id/search_src_text", null, null));
tv.setTextColor(Color.GREEN); // and of course specify your own color

Bonus: Mengganti atribut gaya dan tema ActionBar

Gaya yang tepat untuk bilah tindakan appcompat-v7 tindakan default akan terlihat seperti ini:

<!-- ActionBar vs Toolbar. -->
<style name="Widget.MyApp.ActionBar.Solid" parent="Widget.AppCompat.ActionBar.Solid">
    <item name="background">@color/actionbar_color</item> <!-- No prefix. -->
    <item name="elevation">4dp</item> <!-- No prefix. -->
    <item name="titleTextStyle">...</item> <!-- Style vs appearance. -->
</style>

<style name="Theme.MyApp" parent="Theme.AppCompat">
    <item name="actionBarStyle">@style/Widget.MyApp.ActionBar.Solid</item>
    <item name="actionBarTheme">@style/ThemeOverlay.MyApp.ActionBar</item>
    <item name="actionBarPopupTheme">@style/ThemeOverlay.AppCompat.Light</item>
</style>
Eugen Pechanec
sumber
2
Larutan ini memiliki berbagai efek samping. textColorPrimary diterapkan juga pada tombol laci navigasi dan teks di widget pencarian. Apalagi warna tombol back diset putih (jangan tanya kenapa).
Peter Knut
@PeterKnut Pada saat itu saya tidak menyadari betapa tidak lengkapnya solusi yang diusulkan. Setelah diedit - ini adalah cara saya menggunakannya dan berhasil. Namun, harap tinjau cuplikan warna teks tampilan pencarian.
Eugen Pechanec
Sekarang ini bekerja hampir dengan benar. Dua catatan: menggali teks di widget pencarian bukanlah ide yang baik, id-nya dapat diubah di masa mendatang. Properti latar belakang di Widget.MyApp.ActionBar juga memengaruhi latar belakang di tombol dan keterangan alat. Latar belakang harus disetel di <android.support.v7.widget.Toolbar> secara langsung.
Peter Knut
Saya setuju, itu bukan ide yang baik, saya setidaknya akan menambahkan cek nol di sana (namun apa kemungkinan perubahan id itu). Mengenai latar belakang: Anda tidak benar, jika Anda menambahkannya sebagai gaya pada elemen bilah alat, latar belakang hanya berlaku untuk widget bilah alat. Jika Anda akan mendefinisikan latar belakang ThemeOverlaydan menggunakannya sebagai tema , maka latar belakang setiap elemen anak juga akan diwarnai.
Eugen Pechanec
Oke, Anda benar dengan gaya vs. tema. Kesalahanku.
Peter Knut
40

Inilah solusi saya jika Anda hanya perlu mengubah warna judul dan bukan warna teks di widget pencarian.

layout / toolbar.xml

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:background="@color/toolbar_bg"
    app:theme="@style/AppTheme.Toolbar"
    app:titleTextAppearance="@style/AppTheme.Toolbar.Title"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?attr/actionBarSize"/>

nilai / tema.xml

<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="windowActionBar">false</item>
    </style>

    <style name="AppTheme.Toolbar" parent="ThemeOverlay.AppCompat.ActionBar">
        <!-- Customize color of navigation drawer icon and back arrow --> 
        <item name="colorControlNormal">@color/toolbar_icon</item>
    </style>

    <style name="AppTheme.Toolbar.Title" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
        <!-- Set proper title size -->
        <item name="android:textSize">@dimen/abc_text_size_title_material_toolbar</item>
        <!-- Set title color -->
        <item name="android:textColor">@color/toolbar_title</item>
    </style>
</resources>

Dengan cara yang sama, Anda juga dapat mengatur subtitleTextAppearance.

Peter Knut
sumber
Saya mengalami masalah di mana warna judul akan berbeda bergantung pada apakah bilah alat ada di Fragmen atau dalam Aktivitas. Menggunakan trik ini untuk mengganti warna adalah satu-satunya perbaikan yang bisa saya temukan (cara lain untuk mengubah warna tidak berhasil). Saya harap ini akan membantu lebih banyak orang. Terima kasih!
Pedro Loureiro
3
@Peter Knut Anda perlu menentukan bahwa ini hanya berfungsi untuk API21 ke atas, yang mana yang membuatnya tidak berguna
DoruChidean
@DoruChidean diuji dengan Jelly Bean (API 16): bekerja seperti pesona!
crubio
Tidak mungkin untuk menetapkan tema pada aktivitas. IE, <activity android: name = ". SomeActivity" android: theme = "@ style / AppTheme.Toolbar"
lostintranslation
11

Jika Anda mendukung API 23 dan yang lebih baru, Anda sekarang dapat menggunakan atribut titleTextColor untuk menyetel warna judul Toolbar.

layout / toolbar.xml

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:titleTextColor="@color/colorPrimary"
        />

MyActivity.java

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar)
toolbar.setTitleTextColor(Color.WHITE);
kunci pas
sumber
Ini tampaknya didukung oleh pustaka appcompat juga.
Eugen Pechanec
10

Pengaturan app:titleTextColorpada android.support.v7.widget.Toolbarkarya saya untuk saya di Android 4.4 dan 6.0 juga dengan com.android.support:appcompat-v7:23.1.0:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:titleTextColor="@android:color/white" />
hunyadym.dll
sumber
4
Perhatikan bahwa namespace adalah aplikasi dan bukan android.
Tommie
cukup menambahkan aplikasi baris ini: titleTextColor = "@ android: color / white" bekerja untuk saya di kitkat dan di atasnya juga. Terima kasih @hunyadym
Ghanshyam Nayma
9

Ini mengganggu saya beberapa saat dan saya tidak menyukai jawaban yang diberikan, jadi saya melihat sumbernya untuk melihat cara kerjanya.

FractalWrench berada di jalur yang benar, tetapi dapat digunakan di bawah API 23 dan tidak harus disetel pada bilah alat itu sendiri.

Seperti yang dikatakan orang lain, Anda dapat mengatur gaya pada toolbar dengan

app:theme="@style/ActionBar"

dan dalam gaya itu Anda dapat mengatur warna teks judul dengan

<item name="titleTextColor">#00f</item>

untuk pra API 23 atau untuk 23+

<item name="android:titleTextColor">your colour</item>

Xml penuh

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_height="?attr/actionBarSize"
    android:layout_width="match_parent"
    app:theme="@style/ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"/>


<style name="ActionBar" parent="@style/ThemeOverlay.AppCompat.ActionBar">
    <item name="android:titleTextStyle">@style/ActionBarTextStyle</item>
    <item name="titleTextColor">your colour</item>
    <item name="android:background">#ff9900</item>
</style>

Berikut semua atribut yang dapat diatur untuk toolbar

<declare-styleable name="Toolbar">
    <attr name="titleTextAppearance" format="reference" />
    <attr name="subtitleTextAppearance" format="reference" />
    <attr name="title" />
    <attr name="subtitle" />
    <attr name="gravity" />
    <attr name="titleMargins" format="dimension" />
    <attr name="titleMarginStart" format="dimension" />
    <attr name="titleMarginEnd" format="dimension" />
    <attr name="titleMarginTop" format="dimension" />
    <attr name="titleMarginBottom" format="dimension" />
    <attr name="contentInsetStart" />
    <attr name="contentInsetEnd" />
    <attr name="contentInsetLeft" />
    <attr name="contentInsetRight" />
    <attr name="maxButtonHeight" format="dimension" />
    <attr name="navigationButtonStyle" format="reference" />
    <attr name="buttonGravity">
        <!-- Push object to the top of its container, not changing its size. -->
        <flag name="top" value="0x30" />
        <!-- Push object to the bottom of its container, not changing its size. -->
        <flag name="bottom" value="0x50" />
    </attr>
    <!-- Icon drawable to use for the collapse button. -->
    <attr name="collapseIcon" format="reference" />
    <!-- Text to set as the content description for the collapse button. -->
    <attr name="collapseContentDescription" format="string" />
    <!-- Reference to a theme that should be used to inflate popups
         shown by widgets in the toolbar. -->
    <attr name="popupTheme" format="reference" />
    <!-- Icon drawable to use for the navigation button located at
         the start of the toolbar. -->
    <attr name="navigationIcon" format="reference" />
    <!-- Text to set as the content description for the navigation button
         located at the start of the toolbar. -->
    <attr name="navigationContentDescription" format="string" />
    <!-- Drawable to set as the logo that appears at the starting side of
         the Toolbar, just after the navigation button. -->
    <attr name="logo" />
    <!-- A content description string to describe the appearance of the
         associated logo image. -->
    <attr name="logoDescription" format="string" />
    <!-- A color to apply to the title string. -->
    <attr name="titleTextColor" format="color" />
    <!-- A color to apply to the subtitle string. -->
    <attr name="subtitleTextColor" format="color" />
</declare-styleable>
Stimsoni
sumber
4

Cara termudah untuk mengubah Toolbarwarna judul dengan in CollapsingToolbarLayout.

Tambahkan gaya di bawah ini ke CollapsingToolbarLayout

<android.support.design.widget.CollapsingToolbarLayout
        app:collapsedTitleTextAppearance="@style/CollapsedAppBar"
        app:expandedTitleTextAppearance="@style/ExpandedAppBar">

styles.xml

<style name="ExpandedAppBar" parent="@android:style/TextAppearance">
        <item name="android:textSize">24sp</item>
        <item name="android:textColor">@android:color/black</item>
        <item name="android:textAppearance">@style/TextAppearance.Lato.Bold</item>
    </style>

    <style name="CollapsedAppBar" parent="@android:style/TextAppearance">
        <item name="android:textColor">@android:color/black</item>
        <item name="android:textAppearance">@style/TextAppearance.Lato.Bold</item>
    </style>
Poras Bhardwaj
sumber
3

Jika Anda dapat menggunakan appcompat-v7 app: titleTextColor = "# fff">

<android.support.v7.widget.Toolbar  
        android:id="@+id/toolbar"  
        android:layout_width="match_parent"  
        android:layout_height="wrap_content"  
        android:background="@color/colorPrimary"   
        android:visibility="gone"   
        app:titleTextColor="#fff">   
    </android.support.v7.widget.Toolbar>   
Menyerah Kumar
sumber
2

Ini berhasil untuk saya

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:fitsSystemWindows="true"
    android:minHeight="?attr/actionBarSize"
    app:navigationIcon="@drawable/ic_back"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    app:subtitleTextColor="@color/white"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:title="This week stats"
    app:titleTextColor="@color/white">


    <ImageView
        android:id="@+id/submitEditNote"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_gravity="right"
        android:layout_marginRight="10dp"
        android:src="@android:drawable/ic_menu_manage" />
</android.support.v7.widget.Toolbar>
Hitesh Sahu
sumber
2

Buat toolbar di xml ... toolbar.xml Anda:

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"

    </android.support.v7.widget.Toolbar>

Kemudian tambahkan yang berikut ini di toolbar.xml Anda:

app:titleTextColor="@color/colorText"
app:title="@string/app_name">

Remeber @ color / colorText hanyalah file color.xml Anda dengan atribut color bernama colorText dan color Anda. Ini adalah cara terbaik untuk memanggil string Anda daripada melakukan hardcode warna Anda di dalam toolbar.xml Anda. Anda juga memiliki opsi lain untuk memodifikasi teks Anda, seperti: textAppearance ... dll ... cukup ketik app: teks ... dan intelisense akan memberi Anda opsi di studio android.

toolbar terakhir Anda akan terlihat seperti ini:

 <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:layout_weight="1"
        android:background="?attr/colorPrimary"
        app:layout_scrollFlags="scroll|enterAlways"
        app:popupTheme="@style/Theme.AppCompat"
       app:subtitleTextAppearance="@drawable/icon"
        app:title="@string/app_name">
    </android.support.v7.widget.Toolbar>

NB: Toolbar ini harus berada di dalam activity_main.xml.Easy Peasie Anda

Pilihan lainnya adalah melakukan semuanya di kelas Anda:

Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setTitleTextColor(Color.WHITE);

Semoga berhasil

RileyManda
sumber
Hei, terima kasih ini berhasil. Tapi tahukah Anda bagaimana menggunakan atribut itu hanya pada gaya? Daripada membuat xml lebih berantakan. Terima kasih :)
Greggz
jelas @color Anda berasal langsung dari sumber string Anda. Dengan cara itu xml Anda lebih rapi daripada hardcode warna Anda.
RileyManda
1

Untuk Ubah Warna

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:background="?attr/colorPrimary"

/>

Toolbar myToolbar = (Toolbar) findViewById(R.id.toolbar);
        myToolbar.setTitleTextColor(ContextCompat.getColor(getApplicationContext(), R.color.Auth_Background));
        setSupportActionBar(myToolbar);
Mourad MAMASSI
sumber
1

Saya berjuang dengan ini selama beberapa jam hari ini karena semua jawaban ini agak ketinggalan zaman sekarang apa dengan MDC dan kemampuan tema baru, saya tidak bisa melihat bagaimana cara mengganti app:titleTextColoraplikasi secara luas sebagai gaya.

Jawabannya adalah yang titleTextColortersedia di styles.xml adalah Anda menimpa sesuatu yang mewarisi Widget.AppCompat.Toolbar. Hari ini saya pikir pilihan terbaik adalah Widget.MaterialComponents.Toolbar:

<style name="Widget.LL.Toolbar" parent="@style/Widget.MaterialComponents.Toolbar">
     <item name="titleTextAppearance">@style/TextAppearance.LL.Toolbar</item>
     <item name="titleTextColor">@color/white</item>
     <item name="android:background">?attr/colorSecondary</item>
</style>

<style name="TextAppearance.LL.Toolbar" parent="@style/TextAppearance.Widget.AppCompat.Toolbar.Title">
     <item name="android:textStyle">bold</item>
</style>

Dan di tema aplikasi Anda, tentukan toolbarStyle:

<item name="toolbarStyle">@style/Widget.LL.Toolbar</item>

Sekarang Anda dapat membiarkan xml tempat Anda menentukan bilah alat tidak berubah. Untuk waktu yang lama saya pikir mengubah android:textColortampilan teks judul di toolbar seharusnya bekerja, tetapi untuk beberapa alasan tidak.

Daniel Wilson
sumber
0
<?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="wrap_content"
          xmlns:app="http://schemas.android.com/apk/res-auto">

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:titleTextColor="@color/white"
    android:background="@color/green" />

Vipin Sharma
sumber
0
public class MyToolbar extends android.support.v7.widget.Toolbar {

public MyToolbar(Context context, @Nullable AttributeSet attrs) {
    super(context, attrs);
}

@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
    super.onLayout(changed, l, t, r, b);
    AppCompatTextView textView = (AppCompatTextView) getChildAt(0);
    if (textView!=null) textView.setTextAppearance(getContext(), R.style.TitleStyle);
}

}

Atau penggunaan sederhana dari MainActivity:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbarMain);
setSupportActionBar(toolbar);
((AppCompatTextView) toolbar.getChildAt(0)).setTextAppearance(this, R.style.TitleStyle);

style.xml

<style name="TileStyle" parent="TextAppearance.AppCompat">
    <item name="android:textColor">@color/White</item>
    <item name="android:shadowColor">@color/Black</item>
    <item name="android:shadowDx">-1</item>
    <item name="android:shadowDy">1</item>
    <item name="android:shadowRadius">1</item>
</style>
IQ. Fitur
sumber
Meskipun kode ini mungkin menjawab pertanyaan, akan lebih baik untuk memasukkan beberapa konteks , menjelaskan cara kerjanya dan kapan menggunakannya. Jawaban hanya kode tidak berguna dalam jangka panjang.
Aditi Rawat
0

Lakukan dengan toolbar.setTitleTextAppearance(context, R.style.TitleTextStyle);

// ini adalah gaya di mana Anda dapat menyesuaikan skema warna Anda

 <style name="TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:fontFamily">@string/you_font_family</item>
    <item name="android:textStyle">normal</item>
    <item name="android:textAppearance">@style/you_text_style</item>
    <item name="android:textColor">#000000</item>
    <item name="android:textSize">20sp</item>
</style>
shaby
sumber
0

Sangat sederhana, ini berhasil untuk saya (judul dan ikon putih):

    <android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="56dp"
    android:background="@color/PrimaryColor"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    android:elevation="4dp" />
Almeida
sumber
0

Dengan Material Components Library, Anda dapat menggunakan app:titleTextColoratribut tersebut.

Dalam tata letak, Anda dapat menggunakan sesuatu seperti:

<com.google.android.material.appbar.MaterialToolbar
    app:titleTextColor="@color/...."
    .../>

Anda juga dapat menggunakan gaya khusus :

<com.google.android.material.appbar.MaterialToolbar
     style="@style/MyToolbarStyle"
    .../>

dengan (memperluas Widget.MaterialComponents.Toolbar.Primarygaya):

  <style name="MyToolbarStyle" parent="Widget.MaterialComponents.Toolbar.Primary">
       <item name="titleTextColor">@color/....</item>
  </style>

atau (memperluas Widget.MaterialComponents.Toolbargaya):

  <style name="MyToolbarStyle" parent="Widget.MaterialComponents.Toolbar">
       <item name="titleTextColor">@color/....</item>
  </style>

masukkan deskripsi gambar di sini

Anda juga dapat mengganti warna yang ditentukan oleh gaya menggunakan android:themeatribut (menggunakan Widget.MaterialComponents.Toolbar.Primarygaya):

    <com.google.android.material.appbar.MaterialToolbar
        style="@style/Widget.MaterialComponents.Toolbar.Primary"
        android:theme="@style/MyThemeOverlay_Toolbar"
        />

dengan:

  <style name="MyThemeOverlay_Toolbar" parent="ThemeOverlay.MaterialComponents.Toolbar.Primary">
    <!-- This attributes is also used by navigation icon and overflow icon -->
    <item name="colorOnPrimary">@color/...</item>
  </style>

masukkan deskripsi gambar di sini

atau (menggunakan Widget.MaterialComponents.Toolbargaya):

    <com.google.android.material.appbar.MaterialToolbar
        style="@style/Widget.MaterialComponents.Toolbar"
        android:theme="@style/MyThemeOverlay_Toolbar2"

dengan:

  <style name="MyThemeOverlay_Toolbar3" parent="ThemeOverlay.MaterialComponents.Toolbar.Primary">
    <!-- This attributes is used by title -->
    <item name="android:textColorPrimary">@color/white</item>

    <!-- This attributes is used by navigation icon and overflow icon -->
    <item name="colorOnPrimary">@color/secondaryColor</item>
  </style>
Gabriele Mariotti
sumber