工具栏文字颜色不会改变

时间:2018-08-10 18:12:23

标签: android android-layout android-toolbar

我正在尝试将工具栏中的文本颜色更改为白色,但是颜色不会更改。

我尝试过的事情:

1-更改app:theme=app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"

2-尝试以编程方式进行操作:toolbar.setTitleTextColor(0xFFFFFFFF);

3-代码显示在下面的最后一个:

自定义样式:ToolBarstyle:

Res / style

  <style name="ToolBarStyle" parent="Theme.AppCompat">
        <item name="android:textColorPrimary">@android:color/white</item>
        <item name="android:textColorSecondary">@android:color/white</item>
        <item name="actionMenuTextColor">@android:color/white</item>
        <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
    </style>

Res / Layout

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

Java文件:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    /* Toolbar */
    getSupportActionBar().setTitle("Nostrils");
    toolbar.setTitleTextColor(0xFFFFFFFF);
    // Back icon
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    initNavigationDrawer();
}

来自模拟器的照片:
https://i.imgur.com/zkp24dK.png

4 个答案:

答案 0 :(得分:1)

将工具栏更改为

 <?xml version="1.0" encoding="utf-8"?>
     <android.support.v7.widget.Toolbar
       xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="match_parent"
       xmlns:app="http://schemas.android.com/apk/res-auto"
       android:layout_height="?attr/actionBarSize"
       android:background="@color/colorPrimaryDark"
       app:popupTheme="@style/AppTheme.PopupOverlay"
       android:id="@+id/toolbar">

        <TextView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:layout_gravity="start"
           android:textSize="16dp"
           android:textStyle="bold"
           android:maxLines="1"
           android:ellipsize="end"
           android:textColor="@color/white"
           android:layout_marginRight="?attr/actionBarSize"
           android:gravity="center"
           android:id="@+id/welcome_textView"/>

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

访问此textView

    Toolbar toolbar = (Toolbar) view.findViewById(R.id.toolbar);
    TextView textToolHeader = (TextView) toolbar.findViewById(R.id.welcome_textView);

    textToolHeader.setTextColor(getResources().getColor(R.color.your_color));

答案 1 :(得分:0)

对于工具栏设置:

app:titleTextColor="@android:color/white"

或在您的应用主题集中:

<item name="android:textColorPrimary">@android:color/white</item>

答案 2 :(得分:0)

https://stackoverflow.com/a/25162981/4409113

  

Theme.AppCompat在外观上与Theme.Holo(深色)相同

因此,只需更改父项:

<style name="ToolBarStyle" parent="Theme.AppCompat">

收件人:

<style name="ToolBarStyle" parent="Theme.AppCompat.Light.NoActionBar">

因为您的布局中已有Toolbar,并且此主题将使颜色变为白色。

答案 3 :(得分:0)

感谢您的回答,但是由于它的作用是在折叠的工具栏上添加了此代码(并且它起作用了):

app:collapsedTitleTextAppearance="@style/CollapsedAppBar"
        app:expandedTitleTextAppearance="@style/ExpandedAppBar"

至:

<android.support.design.widget.CollapsingToolbarLayout

具有:

   <style name="ExpandedAppBar" parent="@android:style/TextAppearance">
        <item name="android:textSize">24sp</item>
        <item name="android:textColor">@android:color/white</item>
    </style>

    <style name="CollapsedAppBar" parent="@android:style/TextAppearance">
        <item name="android:textColor">@android:color/white</item>
    </style>