반응형
질문
내 플러터 페이지 중 하나에서, 화면을 가로 모드로 설정하고 세로 모드로 회전하지 않도록 잠금을 걸어야합니다. 그러나 한 페이지에서만 이 기능을 활성화하는 방법이 필요합니다. 이를 동적으로 활성화할 수 있는 방법이 있을까요?
세로 모드로는 회전하지 않고, 가로 왼쪽 모드 또는 가로 오른쪽 모드로 회전하도록하고 싶습니다.
On one of my flutter pages, I need the screen to set to landscape mode and lock it so it can't rotate into portrait mode, but only on the one page. So need a way to enable this function on-the-fly. Anyone know how to do this?
I would like it to rotate landscape-left or landscape-right, just not into portrait mode.
답변
먼저 services 패키지를 가져오세요:
import 'package:flutter/services.dart';
이렇게 하면 "운영 체제의 그래픽 인터페이스와 응용 프로그램이 상호 작용하는 방식과 관련된 특정 측면을 제어합니다."
라는 SystemChrome
클래스에 액세스할 수 있습니다.
위젯을 로드할 때 다음과 같이 작업하세요:
@override
void initState(){
super.initState();
SystemChrome.setPreferredOrientations([
DeviceOrientation.landscapeRight,
DeviceOrientation.landscapeLeft,
]);
}
그런 다음 페이지를 떠날 때 다음과 같이 다시 정상으로 되돌려 놓으세요:
@override
dispose(){
SystemChrome.setPreferredOrientations([
DeviceOrientation.landscapeRight,
DeviceOrientation.landscapeLeft,
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown,
]);
super.dispose();
}
반응형
댓글