如何使用主题和Theme.AppCompat.DayNight 更改操作栏中的文本颜色

问题描述 投票:0回答:3

我正在尝试使用主题更改默认操作栏中文本的文本颜色。我可以轻松更改状态栏的背景,但无论我做什么,操作栏中的文本都保持不变:

<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.MyAapp" parent="Theme.AppCompat.DayNight">
    <!-- Primary brand color. -->

    <item name="colorPrimary">@color/ocean</item>
    <item name="colorPrimaryVariant">@color/light_ocean</item>
    <item name="colorOnPrimary">@color/white</item>
    <!-- Secondary brand color. -->
    <item name="colorSecondary">@color/ocean</item>
    <item name="colorSecondaryVariant">@color/dark_ocean</item>
    <item name="colorOnSecondary">@color/ocean</item>
    <!-- Status bar color. -->
    <!-- Status bar color. -->
    <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
    <!-- Customize your theme here. -->
</style>

是否可以在 Theme.AppCompat.DayNight 中覆盖它?我需要使用这个主题。我将感谢您的帮助。

android themes statusbar
3个回答
3
投票

您好,这是给您的地图。如果您没有其中一些,则必须定义它


1
投票
    <!-- Base application theme. -->
    <style name="Theme.MyAapp" parent="Theme.AppCompat.DayNight">
        <!-- Primary brand color. -->

        <item name="colorPrimary">@color/ocean</item>
        <item name="colorPrimaryVariant">@color/light_ocean</item>
        <item name="colorOnPrimary">@color/white</item>
        <!-- Secondary brand color. -->
        <item name="colorSecondary">@color/ocean</item>
        <item name="colorSecondaryVariant">@color/dark_ocean</item>
        <item name="colorOnSecondary">@color/ocean</item>
        <!-- Status bar color. -->
        <!-- Status bar color. -->
        <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
        <!-- Customize your theme here. -->

        <item name="android:actionBarStyle">@style/ThemeOverlay.MaterialComponents.ActionBar</item>
    </style>

    <style name="hemeOverlay.MaterialComponents.ActionBar"  parent="ThemeOverlay.MaterialComponents.Dark.ActionBar">
        <item name="android:textColor">@color/black</item>
    </style>

0
投票

您需要使用父级:Widget.AppCompat.ActionBar 定义toolbar_style,如下例所示:

<style name="AppTheme" parent="Theme.AppCompat.Light">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primaryDark</item>
        <item name="colorAccent">@color/highlightRed</item>
        <item name="actionBarTheme">@style/toolbar_style</item>
</style>


<style name="toolbar_style" parent="Widget.AppCompat.ActionBar">
        <item name="android:textColorPrimary">@color/white</item>
</style>
© www.soinside.com 2019 - 2024. All rights reserved.