【问题标题】:Android: Toolbar text is coming as black instead of whiteAndroid:工具栏文本变为黑色而不是白色
【发布时间】:2015-09-26 07:05:21
【问题描述】:
我的工具栏文本、后退箭头和所有内容都是黑色的,但我希望它是白色的
我怎样才能实现它?
我的styles.xml 看起来像这样:
<resources>
<style name="AppTheme" parent="MyMaterialTheme.Base">
</style>
<style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowBackground">@color/windowBackground</item>
<item name="android:textColor">@color/textColorPrimary</item>
<item name="android:textStyle">normal</item>
</style>
</resources>
Android 清单片段:
<application
android:allowBackup="true"
android:icon="@mipmap/hello"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
【问题讨论】:
标签:
android
android-xml
android-styles
android-toolbar
【解决方案1】:
为您的工具栏定义样式:
<style name="AppToolbar" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="android:textColorPrimary">@android:color/white</item>
<item name="android:textColorSecondary">@android:color/white</item>
</style>
将其设置到您的工具栏:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|enterAlways"
android:theme="@style/AppToolbar"
android:minHeight="?attr/actionBarSize"/>
【解决方案2】:
如果您让您的工具栏使用ThemeOverlay.AppCompat.Dark.ActionBar 样式,则文本会变浅。请参阅this answer 了解更多信息。
<?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"
android:layout_height="?attr/actionBarSize"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
【解决方案4】:
尝试在您的themes.xml 或 values 文件夹或 values-v21 和其他值文件夹中的 styles.xml 中使用这些项目。
<style name="AppTheme" parent="Theme.AppCompat.Light">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/primaryColor</item>
<item name="colorPrimaryDark">@color/primaryColor</item>
<item name="colorAccent">@color/primaryColor</item>
<item name="android:textColorPrimary">@android:color/white</item>
<item name="android:navigationBarColor">@android:color/black</item>
<item name="actionMenuTextColor">@android:color/holo_blue_dark</item>
<item name="android:actionMenuTextColor">@android:color/holo_blue_dark</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/black</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/white</item>
<item name="android:windowContentTransitions">true</item>
</style>
注意:- 从 API 级别 21 以下删除这些项目。
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/black</item>
<item name="android:windowContentTransitions">true</item>