Android 显示键盘时出现反应本机/启动屏幕
我在我的react原生项目中添加了一个启动屏幕,一切都很好。当我打开键盘时,它会短暂地显示它后面的启动屏幕。 视频: 复制 在drawable中创建background_splash.xml,其中包含以下代码: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
<?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);