애플리케이션의 사용자 인터페이스가 모바일 기기의 시스템 UI(예: 상태 바, 노치, 홈 인디케이터)에 의해 가려지지 않도록 하는 것은 중요한 디자인 고려사항입니다. SafeArea
위젯은 이러한 문제를 해결해 주며, 앱의 주요 콘텐츠가 항상 사용자에게 잘 보이도록 확보합니다.
top
: 상단에 안전 영역을 적용할지 여부를 결정합니다. 기본값은 true
입니다.bottom
: 하단에 안전 영역을 적용할지 여부를 결정합니다. 기본값은 true
입니다.left
: 왼쪽에 안전 영역을 적용할지 여부를 결정합니다. 기본값은 true
입니다.right
: 오른쪽에 안전 영역을 적용할지 여부를 결정합니다. 기본값은 true
입니다.minimum
: 각 방향에 적용할 최소 여백을 지정합니다. 예를 들어, EdgeInsets.only(top: 10.0)
은 상단에 최소 10.0 픽셀의 여백을 확보합니다.아래 예제는 SafeArea
를 사용하여 상단의 노치와 하단의 홈 버튼을 고려하여 콘텐츠를 안전하게 배치하는 방법을 보여줍니다.
Scaffold(
body: SafeArea(
child: Column(
children: <Widget>[
Text('이 텍스트는 상단 노치 아래에 안전하게 위치합니다.'),
Expanded(
child: Center(
child: Text('이곳은 스크린의 중앙입니다.'),
),
),
Text('이 텍스트는 하단 홈 버튼 위에 안전하게 위치합니다.')
],
),
),
)
SafeArea
를 사용할 때는 전체 화면 디자인을 고려하여 필요한 경우만 top
, bottom
, left
, right
속성을 조정합니다.