Flutter 앱에서 디바이스 세로 및 가로 모드 고정 방법

2024. 6. 27. 21:17Flutter/Flutter Programming

반응형

Flutter는 다양한 화면 크기와 해상도를 가진 기기를 지원하는 크로스 플랫폼 모바일 프레임워크입니다.

하지만 일부 앱은 특정 방향(세로 또는 가로)에서만 사용하도록 설계되어야 할 수도 있습니다.

이 블로그에서는 SystemChrome 위젯을 사용하여 Flutter 앱에서 디바이스 해상도에 따라 세로 또는 가로 모드를 고정하는 방법을 살펴보겠습니다.

 

1. 세로 모드 고정

 

앱을 세로 모드로 고정하려면 다음 코드를 main.dart 파일에 추가해야 합니다.

import 'package:flutter/services.dart';

void main() async {
  // Firebase 초기화
  WidgetsFlutterBinding.ensureInitialized();
  await SystemChrome.setPreferredOrientations([
    DeviceOrientation.portraitUp,
    DeviceOrientation.portraitDown,
  ]);

  runApp(const MyApp());
}
 

위 코드에서 SystemChrome.setPreferredOrientations 메서드는 앱이 지원할 수 있는 방향 목록을 매개변수로 받습니다. 이 경우 DeviceOrientation.portraitUp과 DeviceOrientation.portraitDown을 사용하여 앱을 세로 모드로 제한합니다.

 

2. 가로 모드 고정

 

앱을 가로 모드로 고정하려면 다음 코드를 main.dart 파일에 추가해야 합니다.

import 'package:flutter/services.dart';

void main() async {
  // Firebase 초기화
  WidgetsFlutterBinding.ensureInitialized();
  await SystemChrome.setPreferredOrientations([
    DeviceOrientation.landscapeLeft,
    DeviceOrientation.landscapeRight,
  ]);

  runApp(const MyApp());
}
 

위 코드는 DeviceOrientation.landscapeLeft와 DeviceOrientation.landscapeRight를 사용하여 앱을 가로 모드로 제한합니다.

 

주의 사항

  • SystemChrome.setPreferredOrientations 메서드는 권장 사항이며, 디바이스 설정에 따라 무시될 수 있습니다.
  • 일부 기기에서는 특정 방향을 강제로 고정할 수 없습니다.
  • 앱이 여러 방향을 지원해야 하는 경우 MediaQuery 위젯을 사용하여 화면 방향에 따라 레이아웃을 조정할 수 있습니다.

 

 

수발가족을 위한 일기장 “나비일기장

 

https://play.google.com/store/apps/details?id=com.maccrey.navi_diary_release

 

구글플레이 앱 배포의 시작! 비공개테스트 20명의 테스터모집을 위한 앱 "테스터 쉐어"

 

https://play.google.com/store/apps/details?id=com.maccrey.tester_share_release

 

카카오톡 오픈 채팅방

https://open.kakao.com/o/gsS8Jbzg

반응형