새 툴바의 제목 색상은 어떻게 설정합니까?


119

저는 새로운 v7 툴바를 사용하고 있으며 평생 동안 제목의 색상을 변경하는 방법을 알 수 없습니다. Toolbar의 @style을 styles.xml에 선언 된 스타일로 설정하고 textColor와 함께 titleTextStyle을 적용했습니다. 내가 뭔가를 놓치고 있습니까? Lollipop 용으로 코딩 중이지만 현재 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"/>

답변:


241

옵션 1) 빠르고 쉬운 방법 (도구 모음 만 해당)

appcompat-v7-r23 이후로 다음 속성을 사용자 Toolbar또는 해당 스타일 에 직접 사용할 수 있습니다 .

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

최소 SDK가 23이고 네이티브를 사용 Toolbar하는 경우 네임 스페이스 접두사를 android.

Java에서는 다음 방법을 사용할 수 있습니다.

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

이 메서드는 색상 리소스 ID가 아닌 색상 int를 사용합니다!

옵션 2) 툴바 스타일 및 테마 속성 재정의

레이아웃 /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"/>

values ​​/ styles.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>

도움! 내 아이콘도 색상이 변경되었습니다!

@PeterKnut은 이것이 오버플로 버튼, 탐색 창 버튼 및 뒤로 버튼의 색상에 영향을 미친다고보고했습니다. 또한의 텍스트 색상을 변경합니다 SearchView.

아이콘 색상 관련 : 다음에서 colorControlNormal상속

  • android:textColorPrimary 어두운 테마 용 (검정 바탕에 흰색)
  • android:textColorSecondary 밝은 테마 (흰색 바탕에 검은 색)

이것을 액션 바의 테마에 적용 하면 아이콘 색상을 사용자 지정할 수 있습니다.

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

appcompat-v7에서 r23까지의 버그가 있었기 때문에 다음과 같이 기본 대응 항목도 재정의해야합니다.

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

도움! 내 SearchView가 엉망입니다!

참고 :이 섹션은 더 이상 사용되지 않을 수 있습니다.

어떤 이유로 appcompat-v7에 포함 된 것과 다른 뒤로 화살표 (시각적, 기술적으로 아님)를 사용하는 검색 위젯을 사용하므로 앱의 테마 에서 수동으로 설정해야합니다 . 지원 라이브러리의 드로어 블이 올바르게 착색됩니다. 그렇지 않으면 항상 흰색이됩니다.

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

검색보기 텍스트에 관해서는 ... 쉬운 방법은 없습니다. 소스를 살펴본 후 텍스트보기로 이동하는 방법을 찾았습니다. 나는 이것을 테스트하지 않았으므로 이것이 작동하지 않으면 의견에 알려주십시오.

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

보너스 : ActionBar 스타일 및 테마 속성 재정의

기본 작업 appcompat-v7 작업 표시 줄에 대한 적절한 스타일은 다음과 같습니다.

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

2
이 솔루션에는 다양한 부작용이 있습니다. textColorPrimary는 탐색 창 버튼 및 검색 위젯의 텍스트에도 적용됩니다. 또한 뒤로 버튼의 색상은 흰색으로 설정되어 있습니다 (이유는 묻지 마세요).
Peter Knut

@PeterKnut 당시 나는 제안 된 솔루션이 얼마나 불완전한 지 깨닫지 못했습니다. 편집 후-이것이 내가 사용하는 방법이며 작동합니다. 그러나 검색보기 텍스트 색상 스 니펫을 검토하십시오.
Eugen Pechanec 2015 년

이제 거의 올바르게 작동합니다. 두 가지 참고 : 검색 위젯에서 텍스트를 파는 것은 좋은 생각이 아닙니다. ID는 나중에 변경 될 수 있습니다. Widget.MyApp.ActionBar의 Background 속성은 버튼과 툴팁의 배경에도 영향을줍니다. 배경은 <android.support.v7.widget.Toolbar>에서 직접 설정해야합니다.
Peter Knut

동의합니다. 좋은 생각이 아닙니다. 적어도 거기에 null 수표를 추가 할 것입니다 (하지만 해당 ID가 변경 될 가능성은 무엇입니까). 배경에 관하여 : 당신이 그것을 툴바 요소에 스타일 로 추가 하면 배경은 툴바 위젯에만 적용됩니다. 에서 배경을 정의하고 테마ThemeOverlay 로 사용하면 모든 하위 요소의 배경도 색상이 지정됩니다.
Eugen Pechanec 2015 년

좋습니다. 스타일과 테마가 맞습니다. 내 실수.
Peter Knut

40

검색 위젯에서 텍스트 색상이 아닌 제목 색상 만 변경해야하는 경우 여기에 내 솔루션이 있습니다.

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

values ​​/ themes.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>

비슷한 방법으로 subtitleTextAppearance도 설정할 수 있습니다.


도구 모음이 조각에 있는지 아니면 활동에 있는지에 따라 제목의 색상이 다른 문제가 발생했습니다. 이 트릭을 사용하여 색상을 재정의하는 것이 내가 찾을 수있는 유일한 해결책이었습니다 (색상을 변경하는 다른 방법은 작동하지 않음). 더 많은 사람들에게 도움이되기를 바랍니다. 감사!
Pedro Loureiro

3
크 누트 @ 피터이 단지 어떤 종류의 차종의 그것은 쓸모없는, 위의 API21 및 작동 지정해야합니다
DoruChidean

@DoruChidean은 Jelly Bean (API 16)으로 테스트했습니다. 매력처럼 작동합니다!
crubio

활동에 테마를 설정할 수 없습니다. IE, <activity android : name = ". SomeActivity"android : theme = "@ style / AppTheme.Toolbar"
lostintranslation

11

API 23 이상을 지원하는 경우 이제 titleTextColor 속성 을 사용하여 툴바의 제목 색상을 설정할 수 있습니다 .

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);

이것들은 appcompat 라이브러리에서도 지원되는 것 같습니다.
Eugen Pechanec

10

Android 4.4 및 6.0에서도 app:titleTextColorandroid.support.v7.widget.Toolbar작품 설정 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" />

4
네임 스페이스는 android가 아니라 app입니다.
Tommie

이 줄을 추가하기 만하면 app : titleTextColor = "@ android : color / white"가 kitkat 이상에서도 저에게 효과적이었습니다. 감사 @hunyadym
Ghanshyam Nayma

9

이것은 나를 괴롭 혔고 주어진 답변이 마음에 들지 않아 소스를 살펴보고 어떻게 작동하는지 확인했습니다.

FractalWrench는 올바른 경로에 있지만 API 23 이하에서 사용할 수 있으며 도구 모음에서 자체적으로 설정할 필요가 없습니다.

다른 사람들이 말했듯이 도구 모음에서 스타일을 설정할 수 있습니다.

app:theme="@style/ActionBar"

이 스타일에서 제목 텍스트 색상을 설정할 수 있습니다.

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

API 23 이전 또는 23+

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

전체 XML

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

툴바에 설정할 수있는 모든 속성이 있습니다.

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

4

Toolbar에서 제목 색상 을 변경하는 가장 간단한 방법 입니다 CollapsingToolbarLayout.

아래 스타일 추가 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>

3

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>   

2

이것은 나를 위해 일했습니다.

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

2

xml ... toolbar.xml에 도구 모음을 만듭니다.

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

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

그런 다음 toolbar.xml에 다음을 추가합니다.

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

Remeber @ color / colorText는 colorText라는 색상 속성과 색상을 가진 color.xml 파일입니다. 이것은 toolbar.xml 내부에서 색상을 하드 코딩하는 것보다 문자열을 호출하는 가장 좋은 방법입니다. 텍스트를 수정할 수있는 다른 옵션도 있습니다. 예 : textAppearance ... etc ... app : text를 입력하면 intelisense가 Android 스튜디오에서 옵션을 제공합니다.

최종 도구 모음은 다음과 같아야합니다.

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

주의 :이 도구 모음은 activity_main.xml 안에 있어야합니다 .Easy Peasie

또 다른 옵션은 수업에서 모든 작업을 수행하는 것입니다.

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

행운을 빕니다


이봐, 고마워. 하지만 스타일에서만 그 속성을 사용하는 방법을 알고 있습니까? XML을 더 복잡하게 만드는 대신. 감사합니다 :)
Greggz

분명히 @color는 문자열 리소스에서 직접 가져옵니다. 그러면 XML이 색상을 하드 코딩하는 것보다 깔끔합니다.
RileyManda

1

색상 변경

<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);

1

나는 오늘 몇 시간 동안 이것으로 어려움을 겪었습니다.이 모든 답변은 MDC와 새로운 테마 기능 app:titleTextColor을 사용하여 스타일로 앱 전체 를 재정의하는 방법을 볼 수 없었기 때문에 지금은 구식이기 때문 입니다.

그 대답은 titleTextColorstyles.xml에서 사용할 수있는 것은 Widget.AppCompat.Toolbar. 오늘 나는 최선의 선택은 다음과 같다고 생각합니다 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>

그리고 앱 테마에서 toolbarStyle을 지정합니다.

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

이제 도구 모음을 지정하는 xml을 변경하지 않고 그대로 둘 수 있습니다. 오랫동안 android:textColor툴바 제목 텍스트 모양의 변경 이 작동해야한다고 생각했지만 어떤 이유에서든 작동하지 않습니다.


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


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);
}

}

또는 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>

이 코드가 질문에 답할 수 있지만 작동 방식과 사용 시기 를 설명 하는 컨텍스트 를 포함하는 것이 좋습니다 . 코드 전용 답변은 장기적으로 유용하지 않습니다.
Aditi Rawat

0

함께 해 toolbar.setTitleTextAppearance(context, R.style.TitleTextStyle);

// 색 구성표를 사용자 정의 할 수있는 스타일입니다.

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

0

매우 간단합니다. 이것은 저에게 효과적이었습니다 (제목 및 아이콘 흰색).

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

0

재료 구성 요소 라이브러리를 통해 app:titleTextColor속성을 사용할 수 있습니다 .

에서 레이아웃 당신이 뭔가를 같이 사용할 수 있습니다 :

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

사용자 정의 스타일을 사용할 수도 있습니다 .

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

with ( Widget.MaterialComponents.Toolbar.Primary스타일 확장 ) :

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

또는 ( Widget.MaterialComponents.Toolbar스타일 확장 ) :

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

여기에 이미지 설명 입력

속성을 사용하여 스타일에 정의 된 색상 을 재정 의 할 수도 있습니다android:theme ( 스타일 사용 Widget.MaterialComponents.Toolbar.Primary).

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

와:

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

여기에 이미지 설명 입력

또는 ( Widget.MaterialComponents.Toolbar스타일 사용) :

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

와:

  <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>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.