React Native浸入式模式

时间:2018-04-06 08:18:25

标签: android reactjs react-native react-native-android android-immersive

我想在我的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应用程序启动时,它将会回来。

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

2 个答案:

答案 0 :(得分:1)

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

import {StatusBar} from "react-native";

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

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

答案 1 :(得分:0)

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

react-native-system-navigation-bar

安装

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