显示键盘时会出现反应本地 /飞溅屏幕



我在我的React Native项目中添加了一个飞溅屏幕,当我打开键盘时,一切都很好,它在其后面显示了飞溅式屏幕。视频 :https://drive.google.com/open?id=14ahrc-dyynneyaax3imqvwqqv6fvo_xg

重现

创建背景_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>

预期行为

出现键盘时不应显示飞溅屏幕。

代码示例

所有内容都在复制选项卡中,您只需要添加一个文本输入才能显示。

环境

反应本地环境信息:系统:OS:Windows 10CPU:(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

我的应用程序也有同样的问题,这是我的解决方法。首先,您必须安装模块反复背景颜色,该模块可以使您设置根活动的背景颜色。

在您的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-background&amp; react-native-background-color)可能对我不起作用,这可能是由于过时的,但是对我来说,用"react-native": "~0.63.4"进行了完美的测试:

https://www.npmjs.com/package/reaect-native-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);

相关内容

  • 没有找到相关文章

最新更新