0

我想向我的 React Native 应用程序添加沉浸式模式(全屏,没有屏幕导航栏)。在最好的情况下,我只会在以横向模式查看应用程序时拥有它。这样,用户将能够真正全屏观看视频。

所以我把它添加到我的 mainactivity.java

    @Override
    protected void onStart()
    {
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_IMMERSIVE);
        super.onStart();
    }

视图导入自:

import android.view.View;

当应用程序“启动”时,您会看到白色的加载屏幕一秒钟。在那个屏幕上,我看到了沉浸式模式。但是当 React Native 应用程序启动时,它会回来。

有人知道这样做的方法吗?

4

2 回答 2

4

开箱即用,您唯一的选择是隐藏或显示状态栏 -使用导航或手动:

import {StatusBar} from "react-native";

componentDidMount() {
    StatusBar.setHidden(true, "fade");
}

真正的沉浸式模式可以通过额外的模块来实现,例如react-native-immersive

于 2018-04-06T13:33:00.333 回答
1

我创建了一个具有沉浸式模式、stickyImmersive 模式等的包。

反应本机系统导航栏

安装

yarn add react-native-system-navigation-bar

或者

npm install react-native-system-navigation-bar

链接

https://www.npmjs.com/package/react-native-system-navigation-bar

https://github.com/kadiraydinli/react-native-system-navigation-bar

于 2021-06-28T06:48:36.793 回答