Flexbox
Flexbox 是一種佈局模式,用於在頁面上排列元素,使得當頁面佈局必須適應不同的螢幕尺寸和不同的顯示裝置時,元素的行為可預測。預設情況下,flexbox 會在列中排列子項。但你可以使用 flexDirection: 'row'
將其更改為行。
flexDirection
const Direction = (props)=>{
return (
<View style={styles.container}>
<Box/>
<Box/>
<Box/>
<View style={{flexDirection:'row'}}>
<Box/>
<Box/>
<Box/>
</View>
</View>
)
}
const styles = StyleSheet.create({
container: {
flex:1,
backgroundColor: '#AED581',
}
});
對齊軸
const AlignmentAxis = (props)=>{
return (
<View style={styles.container}>
<Box />
<View style={{flex:1, alignItems:'flex-end', justifyContent:'flex-end'}}>
<Box />
<Box />
</View>
<Box />
</View>
)
}
const styles = StyleSheet.create({
container: {
flex:1,
backgroundColor: `#69B8CC`,
},
text:{
color: 'white',
textAlign:'center'
}
});
對準
const Alignment = (props)=>{
return (
<View style={styles.container}>
<Box/>
<View style={{alignItems:'center'}}>
<Box/>
<View style={{flexDirection:'row'}}>
<Box/>
<Box/>
<Box/>
</View>
<Box/>
</View>
<Box/>
</View>
)
}
const styles = StyleSheet.create({
container: {
flex:1,
backgroundColor: `#69B8CC`,
},
text:{
color: 'white',
textAlign:'center'
}
});
彈性尺寸
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:1}}/>
<Box style={{backgroundColor: 'yellow'}}/>
<Box/>
<Box style={{flex:1, backgroundColor: 'yellow'}}/>
</View>
</View>
)
}
const styles = StyleSheet.create({
container: {
flex:1,
flexDirection:'row',
backgroundColor: colors[1],
},
});
更多關於 Facebook 的 Flexbox 的實施在這裡 。