Android 显示键盘时出现反应本机/启动屏幕

Android 显示键盘时出现反应本机/启动屏幕,android,react-native,splash-screen,Android,React Native,Splash Screen,我在我的react原生项目中添加了一个启动屏幕,一切都很好。当我打开键盘时,它会短暂地显示它后面的启动屏幕。 视频: 复制 在drawable中创建background_splash.xml,其中包含以下代码: <?xml version="1.0" encoding="utf-8" ?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android

我在我的react原生项目中添加了一个启动屏幕,一切都很好。当我打开键盘时,它会短暂地显示它后面的启动屏幕。 视频:

复制 在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>

@可绘制/背景\u飞溅
预期行为 键盘出现时不应显示启动屏幕

代码示例 所有内容都在“复制”选项卡中,您只需添加一个文本输入即可显示

环境 反应本机环境信息: 系统: 操作系统: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

我的应用程序也有同样的问题,下面是我的解决方法。 首先,您必须安装模块,该模块允许您设置根活动的背景色

调用App.jsx中的
setColor
方法后(短暂超时以避免启动屏幕后立即出现“闪烁”),例如使用挂钩:

export default function App(): Element {
    useEffect(() => {
        if (Platform.OS === "android") {
            setTimeout(() => {
                BackgroundColor.setColor("#FFFFFF");
            }, 500);
        }
    }, []);
    return <AppContainer />;
}
导出默认函数App():元素{
useffect(()=>{
如果(Platform.OS==“android”){
设置超时(()=>{
BackgroundColor.setColor(“#FFFFFF”);
}, 500);
}
}, []);
返回;
}
希望这有帮助

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

这些库(
react native root view background
&
react native background color
)对我不起作用,可能是因为过时了,但这一库在
“react native”:“~0.63.4”
:


嘿@jeba,我正在使用这个组件,但是当我重新加载应用程序时,会收到这样一条消息:“无法读取未定义的属性‘setColor’”。嘿,@m.Bertolazo模块是否正确导入?如果对你有帮助的话,我会更新一些依赖项:谢谢你帮助@Jeba,我一直在关注文档。。稍后我会尝试使用您的fork。有没有办法用Thread安装您的版本?我不使用Thread,但根据文档,您可以使用:
Thread addhttps://github.com/jbarnabe/react-native-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);