首页 > 解决方案 > 身临其境时让状态栏文本出现的完全谜团

问题描述

“windowLightStatusBar”不起作用?


Android 应用程序,仅限 24 岁以上

一:设置主题消除动作条..

 <style name="FattieTheme" parent="Theme.AppCompat.Light.NoActionBar">

操作栏不见了。

二:就在 之后super.onCreate,用这三个标志消除底部导航栏:

    getWindow().getDecorView().setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
            View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
            View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);

(除此之外:经过大量实验后,如果将其应用于窗口(如图所示)或 xml 布局的根元素,似乎没有什么区别。)

导航栏不见了。(用户可以向上滑动它;它会在几秒钟后再次消失。)一切都很好。

状态栏还在。状态栏是灰白色的字迹。都好。

您的布局仍然从状态栏下方开始。都好。

三: 添加此标志

            View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |

您现在有四个标志。

(旁白:windowFullscreen在主题中使用似乎什么都不做。所以添加那个标志。)

自然地将您的布局xml设置为fitsSystemWindows false。

您的布局现在从玻璃顶部开始- 它正确位于(灰色)状态栏后面。您仍然可以看到(灰色)状态栏。到目前为止一切都很好。

四: 主题,添加

    <item name="android:statusBarColor">@color/white</item>

它正确地变成粉红色。 状态文本是白色的 - 您可以阅读它。

所以试试

    <item name="android:statusBarColor">@android:color/transparent</item>

答对了!您的应用位于状态文本的后面。

但...

状态文本是白色的,你可能看不到它。(除非你的应用程序在那里很暗。)

如何使文字变暗?!

应该这样做:

    <item name="android:windowLightStatusBar">true</item>

但事实并非如此!它什么也不做。

有谁知道如何解决这个问题?

使状态栏文本变黑。

那里的每个普通应用程序,浏览器等,在 white/clear 上都有黑色状态栏文本。如何??

标签: javaandroid

解决方案


推荐阅读