react-native - 我的屏幕在模拟器和少数移动设备(Android)React-Native 中重叠。(@react-navigation/stack": "^5.10.0")
问题描述
我正在为我的屏幕使用堆栈导航。我最初连接了我的设备(Android 版本 10 - realme XT)并且导航工作正常。但后来我在模拟器(Android 版本 9)上尝试了同样的事情,它开始与屏幕重叠。其他设备(Android 版本 9 redmi note 5 pro)也发生了同样的事情。
导航文件代码为:
import React from 'react';
import {createStackNavigator} from '@react-navigation/stack';
import Abc from './abc';
import xyzfrom './xyz';
import {ImageBackground} from 'react-native';
import CommonBackground from '../../resource/images/StartupScreenBackground.png';
import Styles from './style';
import {NavigationContainer, DefaultTheme} from '@react-navigation/native';
import srt from './srt';
const MyTheme = {
...DefaultTheme,
colors: {
...DefaultTheme.colors,
primary: 'rgb(255, 45, 85)',
background: 'transparent',
},
};
const StartScreen = createStackNavigator();
function StartScreenNavigation(props) {
return (
<ImageBackground source={CommonBackground} style={Styles.imageContainer}>
<NavigationContainer theme={MyTheme}>
<StartScreen.Navigator
screenOptions={{
headerShown: false,
}}
>
<StartScreen.Screen name="abc" component={abc} />
<StartScreen.Screen
name="xyz"
component={xyz}
/>
<StartScreen.Screen name="srt" component={srt} />
</StartScreen.Navigator>
</NavigationContainer>
</ImageBackground>
);
}
export default StartScreenNavigation;
我不明白是Android 版本的问题还是堆栈导航的问题。
谢谢!!
解决方案
我必须创建另一个组件并使用props.children
它才能将其包裹起来。
是的,它很蹩脚,它与为所有单个屏幕包装 ImageBackground 一样好,但我的解决方案有助于减少至少几行代码。
苏耶!!无需使用主题。但如果这适用于其他 android 版本(低于 10),那是最好的解决方案。
谢谢!!
推荐阅读
- mysql - Vertx 连接失败问题未捕获 JDBCClient (.getConnection)
- python - 属性错误:使用 tf.keras fit_generator() 时,“NoneType”对象没有属性“shape”
- firebase - 根据 Firebase 值显示通知
- objective-c - xcode中的启动图像源未显示
- swift - LineChart 避免绘制 0 值
- javascript - Threejs:如何使用 Draco 压缩器导出导入的 obj
- c - 为什么我的链接列表没有更新?
- ruby-on-rails - 显示当前类别 - 导轨
- css - Webpack - React 无法通过 webpack 加载 videojs css 文件
- flutter - 在 null 上调用了 getter 'keys'