[flutter] 플러터에서의 device_info 패키지를 이용하여 화면 너비와 높이 가져오기

플러터에서는 device_info 패키지를 사용하여 현재 기기의 정보를 가져올 수 있습니다. 이를 활용하여 기기의 화면 너비와 높이를 가져와보겠습니다.

1. device_info 패키지 추가하기

pubspec.yaml 파일에 device_info 패키지를 추가해야 합니다. 아래와 같이 dependencies 섹션에 추가해주세요.

dependencies:
  flutter:
    sdk: flutter
  device_info: ^2.0.0

dependencies에 추가된 패키지는 flutter pub get 명령으로 다운로드할 수 있습니다.

2. 기기 정보 가져오기 코드 작성하기

import 'package:flutter/services.dart';
import 'package:device_info/device_info.dart';

// 기기 정보 가져오기
Future getDeviceInfo() async {
  DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
  if (Platform.isAndroid) {
    AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
    return {
      'width': androidInfo.display.width,
      'height': androidInfo.display.height,
    };
  } else if (Platform.isIOS) {
    IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
    return {
      'width': iosInfo.screenWidth,
      'height': iosInfo.screenHeight,
    };
  }
  return null;
}

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  var deviceInfo = await getDeviceInfo();
  print('Width: ${deviceInfo['width']}');
  print('Height: ${deviceInfo['height']}');
}

위 코드에서는 getDeviceInfo 함수를 정의하여 현재 기기의 정보를 가져옵니다. deviceInfo 변수에는 요청한 기기의 화면 너비와 높이가 포함되어 있습니다. 각 플랫폼에 따라 다른 정보를 가져오기 위해 Platform 클래스를 사용합니다.

3. 결과 확인하기

앱을 실행하면 디버그 콘솔에 현재 기기의 화면 너비와 높이가 출력됩니다.

Width: 1080
Height: 1920

참고 자료