显示键盘时出现React-native / Splash-Screen

时间:2019-02-25 12:24:35

标签: android react-native splash-screen

我在我的react本机项目中添加了一个初始屏幕,当我打开键盘时,一切工作正常,它简短地显示了其背后的初始屏幕。 视频 : https://drive.google.com/open?id=14ahrc-dyYnNEYAAX3iMQVwqqV6fVo_xG

要复制

在可绘制内容中使用以下代码创建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 Intel(R)Xeon(R)CPU E5-1603 v4 @ 2.80GHz 内存:9.57 GB / 15.92 GB 二进制文件: npm:6.4.1-C:\ Program Files \ nodejs \ npm.CMD

2 个答案:

答案 0 :(得分:1)

我的应用程序遇到了同样的问题,这是我的解决方法。 首先,您必须安装模块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测试来改进代码。

答案 1 :(得分:0)

这些库(react-native-root-view-backgroundreact-native-background-color)对我不起作用可能是因为已经过时了,但是这个库对我有用,用 "react-native": "~0.63.4" 进行了完美的测试:

https://www.npmjs.com/package/react-native-root-view-background-color

import RootViewBackgroundColor from 'react-native-root-view-background-color';
 
 
// Set the Root View background color to black
RootViewBackgroundColor.setBackground(0, 0, 0, 1);
 
// Set the Root View background color to white
RootViewBackgroundColor.setBackground(255, 255, 255, 1);