ОТКРОЙ ФЛАТТЕР - НЕДЕЛЯ №22
Изменить ориентацию экрана во флаттере
Ориентация экрана очень важна с точки зрения пользователя, особенно когда речь идет о мобильных играх. В этом случае вам может потребоваться установить ориентацию приложения, чтобы зафиксировать направление.
В этой статье мы узнаем, как установить ориентацию экрана и как извлечь информацию о том, какой тип ориентации установлен в данный момент.
Настройка ориентации экрана
- Импортируйте пакет услуг.
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, ссылки за предыдущие недели можно найти ниже:
- Неделя № 18 - Объединение нескольких стилей в строке с RichText во Flutter
- Неделя №19 - Мои январские рекомендации по пакетам Flutter
- Неделя №20 - 5 главных причин научиться флаттеру в 2021 году
Увидимся на следующей неделе, не прерывайте серию!