studyLog. 개발/Flutter (Dart)
[flutter 플러터] Margin Padding 차이 (+EdgeInsets)
브라이티_
2023. 3. 16. 09:56
반응형
화면을 개발할 때 종종 margin 과 padding 이 헷갈릴 때가 있어 그 차이를 정확히 찾아보았다.
Margin
: Object(=border)와 화면 사이의 여백 (외부 여백)
Padding
: Object 내부의 여백
아래 사진을 보면 보다 정확하 이해할 수 있다.
한편 Margin, Padding 과 함께 특정 위젯의 여백을 두는 도구로서 EdgeInsets 클래스가 자주 쓰인다.
*공식 문서: https://api.flutter.dev/flutter/painting/EdgeInsets-class.html
EdgeInsets는 5개의 constructor 를 가지는데, 종류는 아래와 같다.
Constructor | Value | Meaning |
EdgeInsets.all | (double value) | 상하좌우 모든 측면에 대해 n픽셀만큼의 여백 생성 |
EdgeInsets.fromLTRB | (double left, double top, double right, double bottom) | 상하좌우 모든 측면에 대해 각가 n, n, n, n픽셀만큼의 여백 생성 |
EdgeInsets.fromWindowPadding | (WindowPadding padding, double devicePixelRatio) | 주어진 windowPadding 값만큼의 여백 생성 |
EdgeInsets.only | ({double left = 0.0, double top = 0.0, double right = 0.0, double bottom = 0.0}) | 상하좌우 중 특정 측면에 대해 n픽셀만큼의 여백 생성 |
EdgeInsets.symmetric | ({double vertical = 0.0, double horizontal = 0.0}) | 상하(vertical) 와 좌우(horizontal) 중 특정 측면에 대해 n픽셀만큼의 여백 생성 |
아래는 예시코드이다.
EdgeInsets.all(10.0)
EdgeInsets.only(left: 10.0)
EdgeInsets.LTRB(25.0, 10.0, 25.0, 10.0) // 아래코드(symmetric)와 동일한 결과값
EdgeInsets.symmetric(vertical: 10.0, horizontal: 25.0) // 위코드(LTRB)와 동일한 결과값
반응형