内部带有图像的多个View元素需要以两列布局显示。
我正在使用以下代码(基本上,获取窗口的Dimension(x)并设置View width = 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 ({brochuresView} ); } } const Brochure = ( data ) => { const {child, image} = styles; return () } 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 } });
ScrollView需要一个contentContainerStyle
道具,而普通的style
道具将描述样式。
从文档:
这些样式将应用于包含所有子视图的滚动视图内容容器。例:
return (
); ... const styles = StyleSheet.create({ contentContainer: { paddingVertical: 20 } });
因此,基本上,您需要对代码进行的唯一更改是:
与这个: