如何在 React-Native 中设置 Navigator 的背景图片
How to set a background Image of Navigator in React-Native
我在 React-Native 中使用 Navigator 组件。
//...
render() {
return (
<Navigator
ref="navigator"
navigationBar={this.renderHeader()}
sceneStyle={styles.container}
initialRoute={{type: 'Home'}}
renderScene={this.renderScene.bind(this)} />
);
}
现在我需要为所有场景设置一个固定的背景图像,但我无法将 Navigator 组件包装在另一个视图中。
// No errors but background is ignored
render() {
return (
<View style={styles.navigatorContainer}>
<Image source={require('image!logo-big')} style={styles.background} />
<Navigator
ref="navigator"
navigationBar={this.renderHeader()}
sceneStyle={styles.container}
initialRoute={{type: 'Home'}}
renderScene={this.renderScene.bind(this)} />
</View>
);
}
var styles = StyleSheet.create({
container: {
flex: 1
},
background: {
position: 'absolute',
left: 0,
top: 0,
width: 1024,
height: 768
},
navigatorContainer: {
flex: 1,
backgroundColor: '#FF0000'
}
});
如果我将 backgroundColor 设置为 class NavigatorContainer,我可以看到红色背景,但它不适用于图像。
有什么建议吗?
找到解决方法:要显示背景图像,您必须将 navigatorContainer 的 backgroundColor 设置为 'transparent'。
我在 React-Native 中使用 Navigator 组件。
//...
render() {
return (
<Navigator
ref="navigator"
navigationBar={this.renderHeader()}
sceneStyle={styles.container}
initialRoute={{type: 'Home'}}
renderScene={this.renderScene.bind(this)} />
);
}
现在我需要为所有场景设置一个固定的背景图像,但我无法将 Navigator 组件包装在另一个视图中。
// No errors but background is ignored
render() {
return (
<View style={styles.navigatorContainer}>
<Image source={require('image!logo-big')} style={styles.background} />
<Navigator
ref="navigator"
navigationBar={this.renderHeader()}
sceneStyle={styles.container}
initialRoute={{type: 'Home'}}
renderScene={this.renderScene.bind(this)} />
</View>
);
}
var styles = StyleSheet.create({
container: {
flex: 1
},
background: {
position: 'absolute',
left: 0,
top: 0,
width: 1024,
height: 768
},
navigatorContainer: {
flex: 1,
backgroundColor: '#FF0000'
}
});
如果我将 backgroundColor 设置为 class NavigatorContainer,我可以看到红色背景,但它不适用于图像。
有什么建议吗?
找到解决方法:要显示背景图像,您必须将 navigatorContainer 的 backgroundColor 设置为 'transparent'。