Измените только одну ориентацию экрана. - PullRequest
1 голос
/ 09 июля 2020
• 1000 в моем втором представлении я пишу это
@override
  void initState() {
    super.initState();

    WidgetsFlutterBinding.ensureInitialized();
    SystemChrome.setPreferredOrientations([
            DeviceOrientation.portraitDown,
            DeviceOrientation.portraitUp,
            DeviceOrientation.landscapeLeft,
            DeviceOrientation.landscapeRight
          ]);
  }

  @override
  void dispose() {
    super.dispose();
   WidgetsFlutterBinding.ensureInitialized();
    SystemChrome.setPreferredOrientations(
            DeviceOrientation.portraitDown,
            DeviceOrientation.portraitUp,
          ]);
  }

, но когда я возвращаюсь в моем первом представлении, где я использую только портрет режим и возвращаюсь во втором виде, не распознаю, что ориентация альбомная режим. Все это время я не меняю ориентацию.

1 Ответ

0 голосов
/ 09 июля 2020

Во-первых, нет необходимости называть это: WidgetsFlutterBinding.ensureInitialized(); в initState и dispose. Достаточно вызвать его только в вашей основной функции перед runApp. А что касается вашего вопроса, звоните так:

SystemChrome.setPreferredOrientations(
    DeviceOrientation.portraitDown,
    DeviceOrientation.portraitUp,
]);

перед super.dispose()

...