java - 更改活动标签颜色 - Android Studio
问题描述
在我的应用程序中,我不知道活动标签的颜色如何从白色变为黑色。我想让它再次变白。我尝试了各种方法。以下是一些代码:
这是我的操作栏:
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appBar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolBar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:popupTheme="@style/Theme.FlikrApp"/>
</com.google.android.material.appbar.AppBarLayout>
这是我的主题:
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.FlikrApp" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryVariant">@color/primary_dark</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/accent</item>
<item name="colorSecondaryVariant">@color/accent</item>
<item name="colorOnSecondary">@color/icons</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
<item name="android:windowBackground">@color/primary_light</item>
<item name="icon">@color/icons</item>
<item name="android:textColorSecondary">@color/white</item>
<item name="android:navigationBarColor">@color/primary_dark</item>
</style>
<style name="Theme.FlikrApp.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="Theme.FlikrApp.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="Theme.FlikrApp.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
我在方法上也试过这个,onCreate
但没有奏效:
getSupportActionBar().setTitle(Html.fromHtml("<font-color\"white\">Flikr App</font>"));
我也添加了themes
这个,但什么也没有
<style name="TextAppearance.AppCompat.Widget.ActionBar.Title" parent="TextAppearance.AppCompat.Title">
<item name="android:textColor">@color/white</item>
</style>
还尝试更改我的工具栏theme
,popupTheme
但如果它有效,我不会写这个。
解决方案
使用材料设计主题,它会自动将状态栏着色为 colorPrimaryDark 值。根据您想要的状态栏颜色更改您的 colorDarkPrimary。
<?xml version="1.0"?>
-<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
-<style parent="Theme.MaterialComponents.DayNight.DarkActionBar" name="Theme.StairwaysToSolutions">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
</resources>
将此文件保存为themes.xml,然后在Manifest 中用此替换主题。
<application android:theme="@style/Theme.StairwaysToSolutions" android:supportsRtl="true" android:roundIcon="@mipmap/ic_launcher_round" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:allowBackup="true">
推荐阅读
- python - 使用 pyinstaller 安装并运行已编译的 .exe 时 python kivy 返回错误
- c++ - 如何使用未知数量的参数指定指向 C 函数的 C++ 指针?
- ajax - Ajax 成功在 asp.net 核心中返回“未定义”
- node.js - 反应联系表格错误
- android - Android Studio:找不到 android-support-v7-appcompat:25.0.4:构建 gradle?
- c++ - 我怎样才能计算每个其他变量?
- python - 创建边缘列表文件
- draftjs - convertToRaw 上的 Draft JS linkify/mentions 插件删除了锚标记
- json - 输入'列表
' 不是类型 'List 的子类型 '颤动 - shopify - 如何在 shopify 中添加变体明智的产品描述