如何在React Native中使<Image>
占据整个UIWindow
大小的区域?如果我使用Autolayout,我会在每个边缘上设置一个约束条件,但是flux是非常不同的范例,而且我不是一个网页开发者。如果我没有在<Image>
上手动设置宽度/高度,什么也不会显示出来,但是我该如何动态地告诉样式与其父元素的宽度和高度相同,或者至少与窗口相同呢?
如何在React Native中使<Image>
占据整个UIWindow
大小的区域?如果我使用Autolayout,我会在每个边缘上设置一个约束条件,但是flux是非常不同的范例,而且我不是一个网页开发者。如果我没有在<Image>
上手动设置宽度/高度,什么也不会显示出来,但是我该如何动态地告诉样式与其父元素的宽度和高度相同,或者至少与窗口相同呢?
你需要使用弹性布局。这是一个完整的例子:
'use strict';
var React = require('react-native');
var {
AppRegistry,
StyleSheet,
View,
Image
} = React;
var TestCmp = React.createClass({
render: function() {
return (
<View style={styles.imageContainer}>
<Image style={styles.image} source={{uri: 'http://lorempixel.com/200/400/sports/5/'}} />
</View>
);
}
});
var styles = StyleSheet.create({
imageContainer: {
flex: 1,
alignItems: 'stretch'
},
image: {
flex: 1
}
});
AppRegistry.registerComponent('RCTTest', () => TestCmp);
请注意,您需要一个容器来定义其中项目的灵活性。关键在于使用 alignItems: 'stretch'
来使 imageContainer 中的内容填充可用空间。
return (
<View style={styles.root_layout}>
<StatusBar hidden={true} />
...
</View>
)
工具栏隐藏
static navigationOptions = {
header: null
}