ОТКРОЙ ФЛАТТЕР - НЕДЕЛЯ №22

Изменить ориентацию экрана во флаттере

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

В этой статье мы узнаем, как установить ориентацию экрана и как извлечь информацию о том, какой тип ориентации установлен в данный момент.

Настройка ориентации экрана

  1. Импортируйте пакет услуг.
import 'package:flutter/services.dart';

2. Измените метод main() и примените следующий код:

void main() {
    WidgetsFlutterBinding.ensureInitialized();   SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft]).then((_){
    runApp(MyApp());
   });
 }

setPrefferedOrientations класса SystemChrome - это ключевой метод, с помощью которого вы можете установить предпочтительную ориентацию. Для этого метода нам нужно использовать then, потому что его тип возврата - Future объект.

Примечание. Если вам нужно инициализировать привязку перед runApp методом, вам нужно вызвать метод ensureInitialized() класса WidgetsFlutterBinding.

Установка только в портретный режим

Чтобы добиться эффекта только портретной ориентации, необходимо передать в метод setPrefferedOrientations следующие параметры:

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

Примечание. Код гарантирует, что приложение будет вращаться, если вы наклоните телефон вверх дном. Если вам не нужен такой эффект, выберите один из portraitUp или portraitUp.

Установка только в ландшафтный режим

Чтобы добиться эффекта только пейзажа, необходимо передать методу setPrefferedOrientations следующие параметры:

SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft,DeviceOrientation.landscapeRight])

Примечание. Вы можете обратиться к landscapeLeft или landscapeRight, чтобы он работал только одним способом.

Получение ориентации устройства

Если во время кодирования вам нужно выполнить какие-то операции, ориентированные на ориентацию, вы можете легко получить текущую ориентацию (объект ориентации) с помощью MediaQuery:

MediaQuery.of(context).orientation

Вывод

Если вы поклонник коротких интересных статей, охватывающих различные темы Flutter, и хотите выработать у меня привычку изучать Flutter со мной в течение следующих 8 недель, вы можете читать мои статьи каждый вторник.

Если у вас есть какие-либо вопросы или комментарии по поводу этой статьи, дайте мне знать в разделе комментариев.

Для тех, кто хочет окунуться в наше путешествие по Flutter, ссылки за предыдущие недели можно найти ниже:

Увидимся на следующей неделе, не прерывайте серию!