Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在react navigation中向stackNavigator中的所有屏幕添加公共背景图像?_Javascript_Reactjs_React Native_React Navigation_React Navigation Stack - Fatal编程技术网

Javascript 如何在react navigation中向stackNavigator中的所有屏幕添加公共背景图像?

Javascript 如何在react navigation中向stackNavigator中的所有屏幕添加公共背景图像?,javascript,reactjs,react-native,react-navigation,react-navigation-stack,Javascript,Reactjs,React Native,React Navigation,React Navigation Stack,我有一个react本机应用程序,类似于react导航中描述的。我想在AppStack中的所有屏幕中添加一个公共背景图像 我试过的东西 我尝试将应用程序堆栈导航器包装在中,但不知何故,屏幕卡始终位于顶部 我需要帮助 代码片段 const AppStack = createStackNavigator({ Home: HomeScreen, Other: OtherScreen }); const AuthStack = createStackNavigator({ SignIn: SignIn

我有一个react本机应用程序,类似于react导航中描述的。我想在AppStack中的所有屏幕中添加一个公共背景图像

我试过的东西

  • 我尝试将应用程序堆栈导航器包装在
    中,但不知何故,屏幕卡始终位于顶部
我需要帮助

代码片段

const AppStack = createStackNavigator({ Home: HomeScreen, Other: OtherScreen });
const AuthStack = createStackNavigator({ SignIn: SignInScreen, SignUp: SignUpScreen });

class SignInScreen extends React.Component {
    render() {
        return (
            <View style={{ flex: 1, backgroundColor: 'transparent' }}>
                <View style={{ width: '50%', backgroundColor: 'white' }}>
                    <Text>Sign in</Text>
                </View>

            </View>
        )
    }
}

class SignUpScreen extends React.Component {
    render() {
        return (
            <View style={{ flex: 1, backgroundColor: 'transparent' }}>
                <View style={{ width: '50%', backgroundColor: 'white' }}>
                    <Text>Sign up</Text>
                </View>

            </View>
        )
    }
}

class Authentication extends React.Component {
    render() {
        return (
            <ImageBackground source={source} style={{ flex: 1 }} >
                <AuthStack />
            </ImageBackground>
        )
    }
}

export default createSwitchNavigator(
    {
        AuthLoading: AuthLoadingScreen,
        App: AppStack,
        Auth: Authentication,
    },
    {
        initialRouteName: 'Auth',
    }
);
const-AppStack=createStackNavigator({Home:HomeScreen,Other:OtherScreen});
const AuthStack=createStackNavigator({SignIn:signnscreen,SignUp:SignUpScreen});
类标志屏幕扩展了React.Component{
render(){
返回(
登录
)
}
}
类签名Upscreen扩展了React.Component{
render(){
返回(
注册
)
}
}
类身份验证扩展了React.Component{
render(){
返回(
)
}
}
导出默认createSwitchNavigator(
{
AuthLoading:AuthLoadingScreen,
应用程序:AppStack,
Auth:Authentication,
},
{
initialRouteName:'Auth',
}
);

您可以通过修改
卡片样式来添加颜色,如下所示:

const AppStack = createStackNavigator(
  { Home: HomeScreen, Other: OtherScreen },
  { cardStyle: { backgroundColor: "green" } }
);
据我所知,没有办法从样式设置背景图像


您可以创建自己的

请发布您尝试过的代码片段,以便用户更好地理解。添加了代码片段@EdisonD'souza@vijaykrishna你找到解决方法了吗?我使用的方法是使用app.js中绝对定位的图像背景。并在导航选项中应用cardOverlayEnabled:true、transparentCard:true,这样背景在所有屏幕上都是可见的。