繁体   English   中英

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

[英]React-native / Splash-Screen appear when showing keyboard

我在我的本机项目中添加了一个闪屏,当我打开键盘时,一切正常,但它会简要显示其背后的闪屏。 视频: 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>

预期行为

出现键盘时不应显示启动画面。

代码示例

一切都在 To Reproduce 选项卡中,您只需要添加一个 TextInput 即可显示。

环境

React Native 环境信息:系统:操作系统: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

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

在你的 App.jsx 中调用setColor方法后(有一个短暂的超时以避免在启动画面后立即“闪烁”)带有钩子的示例:

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

希望这有帮助!

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

这些库( react-native-root-view-backgroundreact-native-background-color )对我不起作用可能是因为已经过时了,但是这个库对我有用,用"react-native": "~0.63.4"完美测试"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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM