yoursyun
React Layout - flex direction & align 본문
styles option
flexDirection
: VIew 에서 자식요소의 나열 방향을 작성,
기본은 "column 으로 세로 방향 으로 자식요소들을 나열 하며, "row"는 가로 방향이다.
alignItems
: flexDirection row 를 기준으로 자식요소들을 나열시, flex-start(좌측끝), center, flex-end(우측끝), stretch(늘이기)
justifyContent
: flexDirection row 를 기준으로 자식요소들을 나열시, flex-start, center, flex-end
, space-between(좌우요소기준균등정렬), space-around(좌우공백기준균등정렬)
import React, {Component} from 'react';
import {StyleSheet, Text, View} from 'react-native';
type Props = {};
export default class App extends Component<Props> {
render() {
return (
<View style={styles.container}>
<View style={styles.rowcontainer1}>
<View style={styles.row1} />
<View style={styles.row2} />
<View style={styles.row3} />
</View>
<View style={styles.rowcontainer2}>
<View style={styles.row11} />
<View style={styles.row12} />
<View style={styles.row13} />
</View>
<View style={styles.colcontainer1}>
<View style={styles.col1} />
<View style={styles.col2} />
<View style={styles.col3} />
</View>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
flexDirection: "column",
},
rowcontainer1: {
flex: 1,
flexDirection: "row",
justifyContent: 'space-between',
},
rowcontainer2: {
flex: 1,
flexDirection: "row",
justifyContent: 'space-around',
borderColor:'#eee',
borderBottomWidth:10.5,
},
colcontainer1: {
flex: 1,
flexDirection: "column",
justifyContent: "space-around",
paddingLeft: 10,
},
row1: {
width:50,
height:50,
borderRadius: 25,
backgroundColor: '#fccb00',
},
row2: {
width:50,
height:50,
borderRadius: 25,
backgroundColor: '#8f7300',
},
row3: {
width:50,
height:50,
borderRadius: 25,
backgroundColor: '#4a3b00',
},
row11: {
width:50,
height:50,
borderRadius: 5,
backgroundColor: '#ffac00',
},
row12: {
width:50,
height:50,
borderRadius: 5,
backgroundColor: '#db3e00',
},
row13: {
width:50,
height:50,
borderRadius: 5,
backgroundColor: '#b80000',
},
col1: {
width:50,
height:50,
borderRadius: 25,
backgroundColor: '#1273de',
},
col2: {
width:50,
height:50,
borderRadius: 25,
backgroundColor: '#4c99ee',
},
col3: {
width:50,
height:50,
borderRadius: 25,
backgroundColor: '#80b5f0',
},
});
반응형