使用全屏主题时,在Android上反映原生'模态'组件不覆盖整个屏幕

Ste*_*rey 10 android react-native

标题说明了一切.我编辑了styles.xml文件(/projectname/android/app/src/res/values/styles.xml)以包含以下内容:

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

此代码成功使应用程序全屏,删除Android状态栏.但是,如果我启动一个React Native'Modal'组件,模态只会延伸到顶部,就像状态栏的边缘一样,留下一个状态栏大小的间隙.我如何修改模态以一直延伸到顶部?

这是带有差距的开放式模式的屏幕截图:

打开模态与差距

Ana*_*nas 13

您可以应用statusBarTranslucent={true}到 React Native<Modal>组件,如下例所示

<Modal statusBarTranslucent={true}>
//your modal content
<Modal />
Run Code Online (Sandbox Code Playgroud)

知道这一点,statusBarTranslucent={true}唯一适用于android


小智 0

我曾尝试使用本机 Android 代码隐藏单个组件的 StatusBar,它在其他组件中工作,但当我在模态中使用它时,它不起作用。

然后,我尝试删除模态视图并使用反应导航导航StackNavigator到特定路径并使用组件处理后退按钮BackHandler,它起作用了。