【发布时间】:2016-08-18 15:34:46
【问题描述】:
我正在通过精彩的 ReactNativeKatas 学习 React Native 中的 flexbox 布局。在下面的示例中,父View(使用styles.container 的那个)的两个子视图上的flex 属性设置为0.1。将两者都设置为 0.1 会将第一个 View 放在显示屏的绝对左侧,将第二个 View 放在中间。为什么将0.1 设置为两个Views 的flex 属性会以这种方式对齐它们?
const FlexSize= (props)=>{
return (
<View style={styles.container}>
<View style={{flex: 0.1}}>
<Box style={{flex: 0.7}}/>
<Box style={{backgroundColor:'yellow'}}/>
<Box/>
<Box style={{flex: 0.3, backgroundColor:'yellow'}}/>
</View>
<View style={{flex: 0.1}}>
<Box style={{flex: 0.5}}/>
<Box style={{backgroundColor:'yellow'}}/>
<Box/>
<Box style={{flex: 0.5, backgroundColor:'yellow'}}/>
</View>
</View>
)
}
const styles = StyleSheet.create({
container: {
flex:1,
flexDirection:'row',
backgroundColor: colors[1],
},
});
在模拟器中渲染:
【问题讨论】:
-
你能用这段代码分享一下它在模拟器上的样子吗?容器视图的两个子级具有相等的
flex。所以它们应该均匀对齐,将整个屏幕垂直分成两半。 -
@nabn 我已经编辑了消息以包含它在模拟器中如何呈现的图像。
标签: react-native flexbox react-native-flexbox