[flutter] 플러터의 useMediaQuery 훅(hook)을 이용한 반응형 디자인 구현하기
본 포스트에서는 플러터(Flutter)의 useMediaQuery
훅(hook)을 사용하여 반응형 디자인을 구현하는 방법에 대해 살펴보겠습니다.
1. useMediaQuery란?
useMediaQuery
는 플러터에서 제공하는 훅(hook) 중 하나로, 현재 화면의 크기와 방향에 따라 반응형 디자인을 구현할 수 있도록 도와줍니다. 이를 통해 다양한 디바이스의 화면 크기에 대응하는 앱을 쉽게 작성할 수 있습니다.
2. useMediaQuery 사용하기
우선, useMediaQuery
훅을 사용하기 위해서는 flutter/material.dart
를 import 해야 합니다.
import 'package:flutter/material.dart';
그리고 다음과 같이 useMediaQuery
를 사용하여 반응형 디자인을 구현할 수 있습니다.
Widget build(BuildContext context) {
final mediaQuery = MediaQuery.of(context);
final isLandscape = mediaQuery.orientation == Orientation.landscape;
return Scaffold(
appBar: AppBar(
title: Text('반응형 디자인'),
),
body: Column(
children: <Widget>[
if (isLandscape)
Text('가로 모드'),
if (!isLandscape)
Text('세로 모드'),
],
),
);
}
위의 예제에서는 현재 화면의 방향에 따라 다른 UI를 보여주는 간단한 예시를 보여주고 있습니다.
3. 결론
useMediaQuery
훅을 사용하면 간단하게 반응형 디자인을 구현할 수 있으며, 다양한 디바이스에 쉽게 대응할 수 있는 플러터 앱을 개발할 수 있습니다.
위의 예시를 참고하여, 여러분의 플러터 앱에 useMediaQuery
를 활용하여 반응형 디자인을 적용해보시기 바랍니다.
참고: Flutter 공식 문서 - MediaQuery