본문 바로가기

프론트엔드/Flutter

[Flutter] Flutter 화면 세로, 가로 고정 방법

안녕하세요, 황대성입니다.

이번 글에서는 Flutter에서 가로, 세로 화면 고정하는 방법을 포스팅하려 합니다.

(How to fix screen direction in Flutter)


1.  import 'package:flutter/services.dart'; 를 임포트 해줍니다.

 

2. StatefulWidget을 사용한다면 아래와 같은 방법을 사용하세요!

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

class Test extends StatefulWidget{
  _Test createState() => _Test();
}

class _Test extends State<Test> {

  @override
  void initState() {
    // 가로 화면 고정
    SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft]);
    super.initState();
  }

  @override
  void dispose() {
    // 세로 화면 고정
    SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
    super.dispose();
  }
  
  @override
  Widget build(BuildContext context){
  	return Container();
  }
  
 }

3. StatelessWidget을 사용한다면 아래와 같은 방법을 사용하세요!

import 'package:flutter/services.dart';
import 'package:flutter/material.dart';
 
class Test extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    // 원하는 방향으로 화면 고정
    SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft, DeviceOrientation.landscapeRight]);
 
    return Container();
  }
}

참고한 사이트

StackOverflow - stackoverflow.com/questions/50322054/flutter-how-to-set-and-lock-screen-orientation-on-demand