工具栏文本颜色不会更改



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

我尝试过的事情:

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

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

3-代码出现在下面的最后一个:

自定义样式: 工具栏样式:

分辨率/样式

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

分辨率/布局

<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.stack.imgur.com/d3NNb.png

将工具栏更改为

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

访问此文本查看

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

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

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>

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,并且此主题将使颜色变白。

对于工具栏集:

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

或在您的应用主题集中:

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

最新更新