更改appbar中项目的颜色

时间:2017-03-31 22:28:40

标签: android

我想将应用栏中的应用名称,搜索图标和溢出菜单的颜色更改为白色。我使用的是textColorPrimary,但它不起作用,它全是黑色的。

这是我的代码

colors.xml

<resources>
    <color name="colorPrimary">#9C27B0</color>
    <color name="colorPrimaryDark">#CE93D8</color>
    <color name="textColorPrimary">#FFFFFF</color>
    <color name="windowBackground">#FFFFFF</color>
    <color name="navigationBarColor">#FFFFFF</color>
    <color name="colorAccent">#FF80AB</color>
</resource>

styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="textColorPrimary">@color/textColorPrimary</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

的AndroidManifest.xml

     <activity
        android:name=".MainActivity"
        android:theme="@style/AppTheme"
        android:label="@string/title_activity_welcome">
    </activity>

menumain.xml

   <menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity">

    <item
        android:id="@+id/action_search"
        android:icon="@drawable/ic_search"
        android:orderInCategory="100"
        android:title="@string/action_search"
        app:showAsAction="always" />

    <item
        android:id="@+id/action_settings"
        android:title="@string/action_settings"
        android:orderInCategory="100"
        app:showAsAction="never" />

    </menu>

这就是我想要的 - 白色文字(应用程序名称),搜索图标(固定,我使用白色搜索图标,所以没问题)和白色溢出菜单

This is what I want

4 个答案:

答案 0 :(得分:0)

创建此样式并设置为Toolbar

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

工具栏代码:

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

答案 1 :(得分:0)

以下主题将起作用

 <style name="ToolbarThemeWhite" parent="@style/ThemeOverlay.AppCompat.ActionBar">
        <item name="colorControlNormal">@color/white</item>
        <item name="android:textColorPrimary">@color/white</item>
    </style>

使用

  <android.support.v7.widget.Toolbar
        ...
        app:theme="@style/ToolbarThemeWhite"
       ...
    />

答案 2 :(得分:0)

在你的风格中添加这些行:

 <style name="TextAppearance" parent="TextAppearance.AppCompat.Widget.ActionBar.Menu">
    <item name="android:textColor">@color/white</item>
</style>

答案 3 :(得分:0)

固定......奇怪的是它用黑色渲染,但是当我在真实设备上运行它是白色的时候。!!