【问题标题】:On Android the statusbar and the navigation bar are still visible while the splashscreen is showing. How to get rid of it?在 Android 上,状态栏和导航栏在启动画面显示时仍然可见。如何摆脱它?
【发布时间】:2019-02-01 02:34:30
【问题描述】:

这是 Apache Cordova 的一个奇怪问题。 我已经设置了一个要为 Android 打包的应用程序。从 Android 4.4 开始,就有了沉浸式模式。 所以当我添加:

<preference name="Fullscreen" value="true" />

config.xml 并启动应用程序,我可以看到状态栏从屏幕移到顶部,而导航栏从屏幕移到底部 - 正如预期的那样。

一旦我使用了 Cordova 的闪屏插件:

cordova plugin add cordova-plugin-splashscreen

并像这样向 config.xml 添加启动画面:

<splash src="res/screen/android/splashScreen.png" />
<plugin name="cordova-plugin-splashscreen" spec="^5.0.2" />

情况有些不同。

在启动画面可见期间,屏幕如下所示:

如您所见,导航和状态栏仍然可见。 好吧,只要闪屏消失,我就可以看到状态/导航栏移出屏幕 - 因此看起来现在它正在切换到沉浸式模式。 不幸的是,这弄乱了应用程序的布局。看起来实际的应用程序现在位于状态栏和导航栏所在的区域之间。因此,我在顶部和底部有黑色边框,而不是全屏。 这看起来有点像这样:

很明显,由于状态和导航栏仍然存在,Android 返回了错误的屏幕尺寸。如何在启动画面出现时强制 Cordova 切换到沉浸式模式?

【问题讨论】:

    标签: android apache cordova fullscreen splash-screen


    【解决方案1】:

    问题:cordova 是否使用了 Android 原生的样式和 Manifest(很确定会使用)?如果是这样,您可以:

    在您的活动中使用全屏主题/样式。

    在你的styles.xml上:

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

    然后在 Manifest 中使用它。

    <activity android:name=".ActivityName"
        android:label="@string/app_name"
        android:theme="@style/Theme.AppCompat.Light.NoActionBar.Fullscreen"/>
    

    【讨论】:

    • 不幸的是,这不起作用。编译器抱怨:cmd:命令失败,退出代码 1 错误输出:错误:找不到资源样式/Theme.AppCompat.Light.NoActionBar (aka com.domain.test:style/Theme.AppCompat.Light.NoActionBar) .错误:链接引用失败。 因为显然它无法处理“基础”主题。
    • 你能发布你的 AndroidManifest.xml 和 styles.xml 文件吗?
    • 我很想,但我不知道怎么做。我不能写超过 600 个字符。
    • 我提出了另一个问题,因为这有点离题了。 stackoverflow.com/questions/54573276/…
    • 有人找到解决办法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 1970-01-01
    • 2018-01-13
    • 2016-03-29
    • 2021-09-27
    • 1970-01-01
    相关资源
    最近更新 更多