我在我的react本机项目中添加了一个启动画面,当我打开键盘时,一切工作都很好,它简短地显示了其背后的启动画面。
视频 :
https://drive.google.com/open?id=14ahrc-dyYnNEYAAX3iMQVwqqV6fVo_xG

重现

使用以下代码在drawable中创建background_splash.xml:

 <?xml version="1.0" encoding="utf-8" ?>

<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/primary"/>
</layer-list>


然后将其添加到styles.xml文件中

<item name="android:windowBackground">
     @drawable/background_splash
</item>


预期行为

出现键盘时,初始屏幕不应显示。

代码示例

一切都在“重现”选项卡中,您只需要添加一个TextInput即可显示。

环境

反应本机环境信息:
系统:
作业系统:Windows 10
CPU:(4)x64英特尔(R)至强(R)CPU E5-1603 v4 @ 2.80GHz
内存:9.57 GB / 15.92 GB
二进制文件:
npm:6.4.1-C:\ Program Files \ nodejs \ npm.CMD

最佳答案

我的应用程序遇到了同样的问题,这是我的解决方法。
首先,您必须安装模块react-native-background-color,该模块允许您设置根活动的背景颜色。

在带有钩子的示例中,在App.jsx中调用setColor方法(为了避免在启动屏幕后立即出现“闪烁”,请设置较短的超时时间):

export default function App(): Element {
    useEffect(() => {
        if (Platform.OS === "android") {
            setTimeout(() => {
                BackgroundColor.setColor("#FFFFFF");
            }, 500);
        }
    }, []);
    return <AppContainer />;
}


希望对您有所帮助!

编辑:使用Platform.OS测试改进代码。

关于android - 显示键盘时出现React-native/Splash-Screen,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54866155/

10-11 22:34
查看更多