EdgeInsets.symmetric는 Flutter에서 위젯의 여백이나 패딩을 좌우 또는 상하 대칭으로 설정할 때 사용하는 클래스입니다.
EdgeInsets.symmetric은 상하(vertical)와 좌우(horizontal)에 대칭적으로 동일한 간격을 설정합니다.
EdgeInsets.symmetric(
horizontal: 16.0, // 좌우 간격
vertical: 8.0, // 상하 간격
)
이렇게 설정하면 위젯의 상하 간격은 8.0, 좌우 간격은 16.0으로 동일하게 적용됩니다.
horizontal
vertical
Padding 위젯과 함께 사용Padding(
padding: EdgeInsets.symmetric(horizontal: 16.0, vertical: 8.0),
child: Text('안녕하세요!'),
)
8.0, 좌우로 16.0의 여백이 추가됩니다.Container 위젯에서 패딩 설정Container의 padding 속성으로 위젯 내부 여백을 설정할 수 있습니다.
Container(
padding: EdgeInsets.symmetric(horizontal: 20.0, vertical: 10.0),
color: Colors.blue,
child: Text(
'Hello, Flutter!',
style: TextStyle(color: Colors.white),
),
)
10.0, 좌우 20.0의 여백이 생깁니다.TextButton이나 ElevatedButton 스타일에도 적용 가능합니다.
TextButton(
onPressed: () {},
style: TextButton.styleFrom(
padding: EdgeInsets.symmetric(horizontal: 24.0, vertical: 12.0),
),
child: Text('클릭하세요'),
)
12.0, 좌우 24.0의 간격이 생깁니다.EdgeInsets 생성자들EdgeInsets.all(double value)
EdgeInsets.all(16.0)
EdgeInsets.only({left, top, right, bottom})
EdgeInsets.only(left: 10.0, top: 20.0)
EdgeInsets.symmetric({horizontal, vertical})
EdgeInsets.symmetric(horizontal: 16.0, vertical: 8.0)
EdgeInsets.symmetric이 더 직관적입니다.