Flutter

[Flutter] 17. 플러터 기초 다지기 - (5) Column과 Row 위젯

Song hyun 2024. 11. 5. 11:20
728x90
반응형

[Flutter] 17. 플러터 기초 다지기 - (5) Column과 Row 위젯


*const와 final의 차이

const final
컴파일 시점에 초기화 런타임 시점에 초기화

-const는 기계어로 바뀌어질 때 초기화된다. const를 사용하면 성능을 높일 수 있다.

-final은 통신을 통해 초기화 될 때, 한 번 초기화된다.

 

 


*시나리오 코드

 

(1) Placeholder

import 'package:flutter/material.dart';

void main(){
  runApp(MyHome());
}

// 상태 여부 위젯 선정

class MyHome extends StatelessWidget{
  // Const 생성자
  const MyHome({super.key});

  // build 메서드는 화면에 그림을 그려주는 메서드
  @override
  Widget build(BuildContext context){
    return const Placeholder();
  }

}

 

 

(2) 두 개의 컨테이너 만들기 - Box 

import 'package:flutter/material.dart';

void main(){
  runApp(MyHome());
}

// 상태 여부 위젯 선정

// const, final 개념을 알아야 한다.

// const - 컴파일 시점에 초기화 되는 코드
// final - 런타임 시점에 초기화 되는 코드
class MyHome extends StatelessWidget{
  // Const 생성자
  const MyHome({super.key});

  // build 메서드는 화면에 그림을 그려주는 메서드
  @override
  Widget build(BuildContext context){
    return Column(
      // 자료구조 - 리스트를 나타낸다.
      children: [
        Container(
          width: 50,
          height: 50,
          color: Colors.red,
          margin:EdgeInsets.symmetric(vertical: 50)
        ),
        Container(
            width: 50,
            height: 50,
            color: Colors.blue
        ),
      ],
    );
  }

}

 

 

(3) MainAxisAlignment

-MainAxisAlignment.end를 설정하면, 해당 위젯이 화면 제일 끝으로 이동한다.

import 'package:flutter/material.dart';

void main(){
  runApp(MyHome());
}

// 상태 여부 위젯 선정

// const, final 개념을 알아야 한다.

// const - 컴파일 시점에 초기화 되는 코드
// final - 런타임 시점에 초기화 되는 코드
class MyHome extends StatelessWidget{
  // Const 생성자
  const MyHome({super.key});

  // build 메서드는 화면에 그림을 그려주는 메서드
  @override
  Widget build(BuildContext context){
    return Column(
      mainAxisAlignment: MainAxisAlignment.end,
      // 자료구조 - 리스트를 나타낸다.
      children: [
        Container(
          width: 50,
          height: 50,
          color: Colors.red,
          margin:EdgeInsets.symmetric(vertical: 50)
        ),
        Container(
            width: 50,
            height: 50,
            color: Colors.blue
        ),
      ],
    );
  }

}

 

 

(4) crossAxisAlignment - 주축과 반대축 방향 정렬

import 'package:flutter/material.dart';

void main(){
  runApp(MyHome());
}

// 상태 여부 위젯 선정

// const, final 개념을 알아야 한다.

// const - 컴파일 시점에 초기화 되는 코드
// final - 런타임 시점에 초기화 되는 코드
class MyHome extends StatelessWidget{
  // Const 생성자
  const MyHome({super.key});

  // build 메서드는 화면에 그림을 그려주는 메서드
  @override
  Widget build(BuildContext context){
    return Container(
      color: Colors.yellow,
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        crossAxisAlignment: CrossAxisAlignment.center,
        // 자료구조 - 리스트를 나타낸다.
        children: [
          Container(
            width: 50,
            height: 50,
            color: Colors.red,
            margin:EdgeInsets.symmetric(vertical: 50)
          ),
          Container(
              width: 50,
              height: 50,
              color: Colors.blue
          ),
        ],
      ),
    );
  }

}
728x90
반응형