memostack
article thumbnail
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형

Row 위젯에서 가로 정렬을 할 때는 mainAxisAlignment 인자를 이용한다.

<java />
// 예시 Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, ... );

 

1. MainAxisAlignment.start

child 위젯을 왼쪽에 붙게한다.

<java />
import "package:flutter/material.dart"; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: "Row 위젯 예시", home: Example(), ); } } class Example extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( body: SafeArea( child: Row( mainAxisAlignment: MainAxisAlignment.start, // 왼쪽 정렬 children: [ Container( width: 100, height: 100, color: Colors.red, child: Text("Container1"), ), Container( width: 100, height: 100, color: Colors.blue, child: Text("Container2"), ), ], ), ), ); } }

MainAxisAlignment.start

 

2. MainAxisAlignment.center

child 위젯을 가운데로 정렬한다.

<java />
class Example extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( body: SafeArea( child: Row( mainAxisAlignment: MainAxisAlignment.center, // 가운데 정렬 children: [ Container( width: 100, height: 100, color: Colors.red, child: Text("Container1"), ), Container( width: 100, height: 100, color: Colors.blue, child: Text("Container2"), ), ], ), ), ); } }

MainAxisAlignment.center

 

3. MainAxisAlignment.end

child 위젯을 오른쪽에 붙게 한다.

<java />
class Example extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( body: SafeArea( child: Row( mainAxisAlignment: MainAxisAlignment.end, // 오른쪽 정렬 children: [ Container( width: 100, height: 100, color: Colors.red, child: Text("Container1"), ), Container( width: 100, height: 100, color: Colors.blue, child: Text("Container2"), ), ], ), ), ); } }

MainAxisAlignment.end

 

 

4. MainAxisAlignment.spaceEvenly

child 위젯 간의 공간을 두고, 같은 크기만큼 양 옆에 공간을 둔다.

<java />
class Example extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( body: SafeArea( child: Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, // 같은 간격만큼 공간을 둠 children: [ Container( width: 100, height: 100, color: Colors.red, child: Text("Container1"), ), Container( width: 100, height: 100, color: Colors.blue, child: Text("Container2"), ), ], ), ), ); } }

MainAxisAlignment.spaceEvenly

 

 

5. MainAxisAlignment.spaceAround

spaceEvenly와 비슷하지만, child 위젯간의 공간을 두고, 절반 크기만큼 양 옆에 공간을 둔다.

<java />
class Example extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( body: SafeArea( child: Row( // 각 위젯끼리 공간을 둠 // 양 끝에 절반 크기만큼 여백을 둠 (spaceEvenly 와의 차이점) mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ Container( width: 100, height: 100, color: Colors.red, child: Text("Container1"), ), Container( width: 100, height: 100, color: Colors.blue, child: Text("Container2"), ), ], ), ), ); } }

MainAxisAlignment.spaceAround

 

 

6. MainAxisAlignment.spaceBetween

child 위젯간의 공간을 두지만, spaceEvenlyspaceAround와는 다르게 양 옆에 공간을 만들지 않는다.

<java />
class Example extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( body: SafeArea( child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, // 각 위젯간의 공간을 둠 children: [ Container( width: 100, height: 100, color: Colors.red, child: Text("Container1"), ), Container( width: 100, height: 100, color: Colors.blue, child: Text("Container2"), ), ], ), ), ); } }

MainAxisAlignment.spaceBetween

 


7. 다른 글

2021/01/03 - [Flutter] - 플러터(flutter) - Row 세로 정렬 방법 (CrossAxisAlignment)

 

플러터(flutter) - Row 세로 정렬 방법 (CrossAxisAlignment)

Row 위젯에서는 crossAxisAlignment 인자값을 이용하여 세로 방향으로 정렬할 수 있다. // 예시 Row( crossAxisAlignment: CrossAxisAlignment.stretch, ... ); CrossAxisAlignment.start child 위젯들을 상단에..

memostack.tistory.com

2021/01/03 - [Flutter] - 플러터(flutter) - Column 가로 정렬 방법 (CrossAxisAlignment)

 

플러터(flutter) - Column 가로 정렬 방법 (CrossAxisAlignment)

Column 위젯을 가로로 정렬할때는 crossAxisAlignment 속성을 이용한다. CrossAxisAlignment.start start 는 default 값으로 왼쪽에 붙게 한다. import "package:flutter/material.dart"; void main() => runApp(M..

memostack.tistory.com

 

반응형
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
profile

memostack

@bluemiv_mm

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!