Flutter 휴대 전화 가로 화면 금지 의 간단 한 실현 방법

일부 특정한 앱 에서 우 리 는 핸드폰 가로 화면 이 있 을 때 앱 이 회전 하 는 것 을 원 하지 않 는 다.예 를 들 어 위 챗,기업 위 챗 은 모두 이렇다.
코드 는 이렇게 설정 할 수 있 습 니 다:

import 'package:flutter/services.dart';
void main() async => {
  WidgetsFlutterBinding.ensureInitialized();
  await SystemChrome.setPreferredOrientations(
    [
      DeviceOrientation.portraitUp,   //    Portrait   
      DeviceOrientation.portraitDown, 
      // DeviceOrientation.landscapeLeft, //    Landscape   
      // DeviceOrientation.landscapeRight,
    ],
  );
  runApp(MainApp());
};
main 함수 에서 위 와 같이 설정 하면 전체 화면 모드 를 사용 하지 않 을 수 있 습 니 다.
그러나 기업 위 챗 에서 저 는 가로 화면 모드 를 완전히 사용 하지 않 은 것 이 아니 라 기업 위 챗 내부 에서 웹 페이지 를 열 었 다 면 이런 장면 에서 가로 화면 으로 사용 할 수 있다 는 것 을 알 게 되 었 습 니 다.즉,WebView 의 장면 에서 저 는 가로 화면 을 할 수 있 지만 다른 화면 에서 가로 화면 을 할 수 없습니다.이거 어떻게 해 야 되 지?

  @override
  void initState() {
    super.initState();
    SystemChrome.setPreferredOrientations([
      DeviceOrientation.landscapeLeft,
      DeviceOrientation.landscapeRight,
      DeviceOrientation.portraitUp,
      DeviceOrientation.portraitDown,
    ]);
  }
  @override
  void dispose() {
    SystemChrome.setPreferredOrientations([
      DeviceOrientation.portraitUp,
      DeviceOrientation.portraitDown,
    ]);
    super.dispose();
  }
이렇게 Stateful Widget 의 initState 와 dispose 에 설정 하면 됩 니 다.예 를 들 어 제 코드 에서 저 는 WebView 를 웹 페이지 라 는 페이지 를 전문 적 으로 봉 했 습 니 다.이렇게 설정 한 후에 사용자 가 웹 페이지 에 들 어 갈 때 가로 화면 을 사용 할 수 있 지만 반환 하면 강제로 세로 화면 을 복원 합 니 다.
참고:http://kmanong.top/kmn/qxw/form/article?id=2735&cate=93
참고:https://stackoverflow.com/questions/49418332/flutter-how-to-prevent-device-orientation-changes-and-force-portrait
총결산
여기 서 Flutter 의 모 바 일 가로 화면 금지 에 관 한 글 은 여기까지 소개 되 었 습 니 다.더 많은 Flutter 의 모 바 일 가로 화면 금지 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 도 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기