Flutter Column 사용

Ruinak·2021년 9월 25일
0

Flutter

목록 보기
3/12
post-thumbnail

Column

Column 사용

  • body의 Text를 지우고 Container를 넣어줍니다.
body: Container(
      color: Colors.orange,
    )
),
  • container 안에 color를 지정해서 배경색을 orange를 줍니다.
  • AVD에서 빨간 영역 부분 전체가 body 영역입니다.
  • Container 영역에서 Alt + Enter를 입력한 후 Column으로 감싸줍니다.
body: Column(
  children: [
    Container(
      color: Colors.orange,
    ),
  ],
),

Container 여러개 사용

body: Column(
  children: [
    Container(
      color: Colors.orange,
    ),
    Container(
      color: Colors.green,
    ),
  ],
),
  • Column으로 감싸주면 children이 생기면서 Container를 추가할 수 있습니다.
  • 두번째 Container는 녹색으로 지정해줍니다.
  • AVD를 보면 배경색이 적용되지 않았음을 확인할 수 있습니다.

height 사용

body: Column(
  children: [
    Container(
      color: Colors.orange,
      height: 50,
    ),
    Container(
      color: Colors.green,
      height: 50,
    ),
  ],
),
  • height를 이용해서 Container의 크기를 지정할 수 있습니다.

Expanded 사용

body: Column(
  children: [
    Expanded(
      child: Container(
        color: Colors.orange,
        height: 50,
      ),
    ),
    Container(
      color: Colors.green,
      height: 50,
    ),
  ],
),
  • 남은 공간 전체를 차지하게 할 때는 Expanded를 이용하면 됩니다.

비율을 1 : 1 : 1 로 설정

body: Column(
  children: [
    // Expanded는 남는 공간 끝까지 확장하라는 명령어
    Expanded(
      child: Container(
        color: Colors.orange,
      ),
    ),
    Expanded(
      child: Container(
        color: Colors.green,
      ),
    ),
    Expanded(
      child: Container(
        color: Colors.red,
      ),
    ),
  ],
),
  • Expanded를 여러개에 걸어주면 화면을 균등하게 나눠서 차지합니다.
  • height는 의미가 없으므로 주석처리하거나 지워주면 됩니다.

비율을 1 : 2 : 1 로 설정

body: Column(
  children: [
    // Expanded는 남는 공간 끝까지 확장하라는 명령어
    Expanded(
      // flex를 사용하면 비율을 정할 수 있습니다.
      flex: 1,
      child: Container(
        color: Colors.orange,
      ),
    ),
    Expanded(
      flex: 2,
      child: Container(
        color: Colors.green,
      ),
    ),
    Expanded(
      flex: 1,
      child: Container(
        color: Colors.red,
      ),
    ),
  ],
),
  • flex를 사용하면 비율을 지정할 수 있습니다.

body 영역에 무지개 표현

body: Column(
  children: [
    Expanded(
      flex: 1,
      child: Container(
        color: Colors.red,
      ),
    ),
    Expanded(
      flex: 1,
      child: Container(
        color: Colors.orange,
      ),
    ),
    Expanded(
      flex: 1,
      child: Container(
        color: Colors.yellow,
      ),
    ),
    Expanded(
      flex: 1,
      child: Container(
        color: Colors.green,
      ),
    ),
    Expanded(
      flex: 1,
      child: Container(
        color: Colors.blue,
      ),
    ),
    Expanded(
      flex: 1,
      child: Container(
        color: Colors.indigo,
      ),
    ),
    Expanded(
      flex: 1,
      child: Container(
        color: Colors.purple,
      ),
    ),
  ],
),
  • flex는 전부 같은 값으로 넣어주거나, 전부 빼면 됩니다.
profile
Nil Desperandum <절대 절망하지 마라>

0개의 댓글