android - 状态栏颜色不变

标签 android android-theme android-notification-bar android-statusbar

我在 Android Studio 中启动了一个默认的抽屉导航项目。 之后我添加了第二个 Activity 。但是在第二个 Activity 的布局中,状态栏是白色的,尽管它与自动创建的布局具有相同的主题,其中 colorPrimaryDark 属性工作正常。

我玩了一下,发现新创建的主题 CustomTheme 具有与 AppTheme 相同的项目,效果很好。

因此,使用 android:theme="@style/CustomTheme.NoActionBar" 有效,但 android:theme="@style/AppTheme.NoActionBar" 无效。 更改默认应用程序主题无效。

这是我的styles.xml

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Base.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>
</style>

<style name="AppTheme.NoActionBar">
    <item name="colorPrimaryDark">#3fff04</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>



<style name="CustomTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="CustomTheme.NoActionBar">
    <item name="colorPrimaryDark">#ff0404</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

那么,你能给我解释一下这件小事吗?

非常感谢您的帮助!

最佳答案

<style name="AppBaseTheme" parent="Theme.AppCompat.Light">

</style>

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>

<style name="NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
</style>

<style name="APPActionBar" parent="@style/AppBaseTheme">
    <item name="colorPrimary">@color/action_bar_clr</item>
    <item name="android:textColorPrimary">@color/white</item>
    <item name="actionOverflowMenuStyle">@style/PopupMenu</item>
</style>

<style name="PopupMenu" parent="Widget.AppCompat.PopupMenu.Overflow">
    <item name="android:textColor">@color/white</item>
    <item name="android:popupBackground">@color/menu_bg</item>
</style>

你的AndroidManifest.file 添加主题

 android:theme="@style/APPActionBar"

使用与 value-11 和 value-14 文件夹相同的样式

关于android - 状态栏颜色不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33947812/

相关文章:

java - 从 GIT 添加模块到 Android Studio 抛出 "buildToolsVersion is not specified"错误

android - 根据文本区域的宽度计算文本大小

android - 读取电话状态时遇到问题

java - 安卓应用 | MySQL 日志记录不工作

android - 更改应用程序背景图像

android - 如何在不重新启动 Activity 的情况下切换主题(夜间模式)?

android - 全屏自定义主题

android - 如何避免在 Android Oreo 及更高版本上出现抬头通知?

android - 通知栏同时显示大图标和小图标