[Flutter] Landscape mode 비활성화 방법

2021. 2. 13. 11:22MOB.DEV/Flutter

반응형

기본적으로 Flutter 프로젝트를 처음 생성했을 때 portrait 모드와 landscape 모드를 둘다 가능하게 되어 있다. 여기에서 landscape 모드를 비활성화 하기 위해서는 아래와 같이 하면 된다.

먼저 main.dart에 package:flutter/services.dart 를 import 해준다.

import 'package:flutter/services.dart';

그 다음 main 메소드에 코드를 추가해준다.

// main.dart

...

// disable landscape
void main() {
  WidgetsFlutterBinding.ensureInitialized();
  SystemChrome.setPreferredOrientations(
    [
      DeviceOrientation.portraitUp,
      DeviceOrientation.portraitDown,
    ],
  );
  
  runApp(MyApp());
}

...

WidgetsFlutterBinding.ensureInitialized()와 SystemChorme.setPreferredOrientations(...)를 추가해주면 된다.

반대로 portrait 모드를 비활성화 해주려면 SystemChrome.setPreferredOrientations(...) 안의 orientations 부분에 DeviceOrientation을 변경해주면 됩니다.

// main.dart

...

// disable portrait
void main() {
  WidgetsFlutterBinding.ensureInitialized();
  SystemChrome.setPreferredOrientations(
    [
      DeviceOrientation.landscapeLeft,
      DeviceOrientation.landscapeRight,
    ],
  );
  
  runApp(MyApp());
}

...

이 글이 도움이 되셨다면 아래에 관심💛을 한번씩 눌러주시고 댓글로 관심을 표현해주세요 ~ 부족한 글 읽어 주셔서 감사합니다.

728x90
반응형