Android nougat 状态栏在启动活动时显示白色

Posted

技术标签:

【中文标题】Android nougat 状态栏在启动活动时显示白色【英文标题】:Android nougat status bar shows white color when launching an activity 【发布时间】:2017-04-14 15:19:26 【问题描述】:

在我的 android 应用程序中,我有一个 MainActivity 说 M。这个 Activity 使用 Android 的 tabLayout 小部件来初始化四个选项卡。每个选项卡对应一个 Fragment,比如 F1,F2,F3,F4 是四个 Fragment。

从 F2 开始,我正在启动一项活动,比如 C 。但是,当 C 启动时,我设备上的状态栏会闪烁片刻。我的意思是闪烁,最初是它的深色(黑色)。然后它会褪色为白色,然后再次变暗。现在 C 启动了。当我尝试从 C 退出时,返回 F2(通过按导航返回按钮)再次显示相同的效果,但这次它变得更糟。我的意思是状态栏保持白色一段时间。然后又变回深色。

我只在 android Nougat 上观察到这个问题。在以前的版本中,它的工作原理。

到目前为止,我已经尝试过 How do I prevent the status bar and navigation bar from animating during an activity scene animation transition?

上面的链接有两种方法: 方法 1. 它对我不起作用 方法 2. 我的应用程序崩溃了,因为 findViewById(android.R.id.statusBarBackground); 返回 null。

请建议我如何解决这个问题。

【问题讨论】:

你找到解决办法了吗? @AmrutBidri 没有。我仍然没有找到任何解决方案。 我遇到了同样的问题。我想你从那以后就没有运气了?! 【参考方案1】:

添加<item name="android:windowIsTranslucent">true</item> 在你的活动主题value-v21/syles.xml. 因为 android:windowIsTranslucent 会使我的手机(Api=19)状态栏显示白色片刻。并导致活动翻译动画师不起作用。 因此您可以创建 value-v21 并在 styles.xml 中添加代码。

【讨论】:

以上是关于Android nougat 状态栏在启动活动时显示白色的主要内容,如果未能解决你的问题,请参考以下文章

Android Nougat,Oreo - 如何将长按动作添加到快速切换?

从通知启动时防止重新创建活动活动

Android Nougat 7.1 在启动 WebView 后重置区域设置

Android 底部导航栏在 webview 中登录后显示

Nougat、Oreo 和 Pie 上的空白/黑色应用程序启动器图标

操作栏在 Android 应用中显示为空