스마트폰 특성상 세로모드와 가로모드 가 존재
각 모드에 맞게 ,사용가능한 영역에 맞춘 UI화면을 구현하는 것
OS(운영체제)가 선호나는 그래픽 인터페이스의 특정 부분을 조절하고, 어떻게 어플리케이션과 상호작용하는 지를 설정하는 클래스
https://api.flutter.dev/flutter/widgets/WidgetsFlutterBinding/ensureInitialized.html
사용자가 세로모드로 사용하는 것을 강제함, 어떤 어플리케이션은 강제하는 것이 UI작동 측면에서 더 효율적일 수 있음.
기존 세로모드에서 사용했던 Column을 Row로 변경하는 것
전체 화면 크기를 계산하여 일정 너비를 넘어가면 가로 Row를 Column으로 변경
final width = MediaQuery.of(context).size.width;
body: width < 600
? Column(
children: [
// Toolbar
Chart(expenses: _registeredExpenses),
Expanded(
child: mainContent,
),
],
)
: Row(
children: [
Expanded(
child: Chart(expenses: _registeredExpenses),
),
Expanded(
child: mainContent,
),
],
),
미디어쿼리를 통해 화면 너비와 높이, 이외에도 텍스트 배율, 기기방향(Orientation)등을 알아낼 수 있는 클래스
키보드 공백 넓이(softKeyboard)까지 계산 가능
LayoutBuilder(builder: (ctx, constraints) {
final width = constraints.maxWidth;

Flutter Devtool(Inspector)에서 각 위젯의 크기, 제한여부등을 확인할 수 있음
like 크롬 개발자 도구의 Elements-Styles 같은 것
최상단에 위치한 배터리 및 시간표시 등 장치관련 사항을 가리지 않도록하는 것
플랫폼별 기본값들이 다 다름
Ios의 스타일링 메서드 제공
조건문을 통해 어플리케이션이 어느 플랫폼서 작동하는지 확인 가능