【发布时间】:2017-09-12 13:13:39
【问题描述】:
内含图片的多个View元素需要以两列布局显示。
我正在使用以下代码(基本上,获取窗口的维度(x)并设置视图宽度 = x/2)。
父容器是flex: row。
但这似乎不起作用。我连续只得到一个图像,而不是图像中显示的两个。我做错了什么?
const window = Dimensions.get('window');
const imageWidth = (window.width/3)+30;
const imageHeight = window.width/3;
export default class Brochures extends Component {
render() {
const brochuresView = brochuresData.map( Brochure );
return (
<ScrollView style={styles.container}>
{brochuresView}
</ScrollView>
);
}
}
const Brochure = ( data ) => {
const {child, image} = styles;
return (
<View key={data.id} style={child}>
<Image
style={image}
source={{uri: data.url}}
/>
</View>
)
}
const styles = StyleSheet.create({
container: {
flexDirection: 'row',
flexWrap: 'wrap'
},
child: {
width: window.width/2,
alignItems: 'center',
height: imageHeight+5,
marginTop: 10
},
image: {
width: imageWidth,
height: imageHeight
}
});
【问题讨论】:
标签: react-native flexbox