【问题标题】:Changing Lollipop Toolbar Text Colour更改棒棒糖工具栏文本颜色
【发布时间】:2014-12-21 03:37:18
【问题描述】:

我正在尝试设置棒棒糖工具栏中的文本样式。但是无论我尝试什么,颜色总是来自应用程序的“text_primary”样式项,而不是来自我尝试覆盖它的样式。

下面是一个例子。我正在尝试使文本变白。

colors.xml:

<resources>
    <color name="primary">#8BC34A</color>
    <color name="primary_dark">#669900</color>
    <color name="accent">#64DD17</color>
    <color name="text_primary">#333</color>
    <color name="text_secondary">#424242</color>
    <color name="photo_tint">#424242</color>

    <color name="toolbarTitleText">#fff</color>
    <color name="toolbarActionMenuTextColor">#333</color>
    <color name="toolbarTextColorSecondary">#fff</color>
</resources>

styles.xml:

<resources>
    <style name="AppTheme" parent="AppTheme.Base">

        <item name="android:colorPrimary">@color/primary</item>
        <item name="android:colorPrimaryDark">@color/primary_dark</item>
        <item name="android:colorAccent">@color/accent</item>
        <item name="android:textColorPrimary">@color/text_primary</item>
        <item name="android:textColor">@color/text_secondary</item>
        <item name="android:navigationBarColor">@color/primary_dark</item>

    </style>

    <style name="ToolbarTheme" parent="Theme.AppCompat">
        <item name="android:textColorPrimary">@color/toolbarTitleText</item>
        <item name="android:textColorPrimaryInverse">@color/toolbarTitleText</item>
        <item name="actionMenuTextColor">@color/toolbarActionMenuTextColor</item>
        <item name="android:textColorSecondary">@color/toolbarTextColorSecondary</item>
    </style>

</resources>

工具栏.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:background="?attr/colorPrimaryDark"
    app:theme="@style/ToolbarTheme"
    android:theme="@style/ToolbarTheme"
    android:titleTextAppearance="@color/toolbarTitleText"
    android:subtitleTextAppearance="@color/toolbarTitleText"
    app:titleTextAppearance="@color/toolbarTitleText"
    app:subtitleTextAppearance="@color/toolbarTitleText"
    />

如您所见,我尝试了几种方法来在toolbar.xml 中应用“ToolbarTheme”样式。但是没有任何效果。

【问题讨论】:

    标签: android android-5.0-lollipop android-styles


    【解决方案1】:

    固定。

    将styles.xml中的“Theme.AppCompat.Light”改为“Theme.AppCompat.Light.DarkActionBar”,文字为白色。

    【讨论】:

    • 但是如果你想将textColorPrimary设置为黑色,因为下面的内容可能是白色的,它也会改变工具栏的文本颜色......
    【解决方案2】:

    您可以为工具栏设置主题:

     <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:minHeight="?attr/actionBarSize"
            app:theme="@style/ActionBarThemeOverlay"
            android:background="?attr/colorPrimaryDark" />
    

    然后在你的styles.xml中:

       <style name="ActionBarThemeOverlay" parent="">
            <item name="textColorPrimary">#fff</item>
            <item name="colorControlNormal">#fff</item>
            <item name="colorControlHighlight">#3fff</item>
        </style>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-16
      • 2016-04-03
      相关资源
      最近更新 更多