更改应用栏中的文本颜色,而不更改其余应用程序中的文本颜色

时间:2019-07-05 16:44:44

标签: android android-theme

我想将应用程序栏中的文本颜色设置为白色,并将应用程序其余部分中的文本保留为默认黑色。

android:textColorPrimary设置为白色会使应用程序栏文本变为白色,但也会使下拉菜单和日历对话框中的文本变为白色。

如何在不更改下拉菜单和日历对话框片段中文本颜色的情况下将应用栏中的文本设为白色?

3 个答案:

答案 0 :(得分:1)

我建议您手动将工具栏添加到活动中,并在其中包含TextView-

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:id="@+id/text_view"
            android:layout_width="match_parent"
            android:text="App Title"
            android:textColor="@colors/colorBlack"/>

    </androidx.appcompat.widget.Toolbar>

您可能还需要将父主题设置为

  

Theme.AppCompat.Light.NoActionBar

答案 1 :(得分:0)

您可以尝试在应用栏中将默认文本颜色设置为白色:

<resources>

    <!-- Base application theme. -->
    <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="colorAccent">@color/colorAccent</item>
        ...
        <item name="actionBarStyle">@style/CustomActionBar</item>
    </style>

    <style name="CustomActionBar" parent="@style/Widget.AppCompat.ActionBar">
        <item name="titleTextStyle">@style/CustomTextAppearance</item>
    </style>

    <style name="CustomTextAppearance" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textColor">#FFFFFF</item>
    </style>

    ...

</resources>

答案 2 :(得分:0)

在您的styles.xml中添加:

<style name="ToolbarTheme" parent="@style/ThemeOverlay.AppCompat.ActionBar">
    <!-- Customize color of navigation drawer icon and back arrow -->
    <item name="colorControlNormal">#fff</item>
</style>

然后在布局文件中添加自定义工具栏:

<android.support.design.widget.AppBarLayout
    android:id="@+id/appBarLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <android.support.v7.widget.Toolbar
        android:id="@+id/anyId"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/colorPrimary"
        app:title="Yor title here"
        app:titleTextColor="#fff"
        android:theme="@style/ToolbarTheme"
        app:layout_scrollFlags="scroll|enterAlways"/>

</android.support.design.widget.AppBarLayout>