Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
355 of 1024 menu
◀ ▶

Метод orientationOf

Метод orientationOf виджета MediaQuery он равен MediaQuery.of(context).orientation и возвращает Orientation. Удобная альтернатива - виджет OrientationBuilder.

Синтаксис

MediaQuery.orientationOf(context)

Параметры

Параметр Описание
context BuildContext виджета под MediaQuery.

Пример

Давайте покажем ориентацию текстом:

import 'package:flutter/material.dart'; class OrientationText extends StatelessWidget { const OrientationText({super.key}); @override Widget build(BuildContext context) { var res = MediaQuery.orientationOf(context); return Text('$res'); } } void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: OrientationText(), ), ), ), ); }

На экране по центру будет Orientation.portrait или Orientation.landscape.

Пример

Давайте выберем колонку только в портрете:

import 'package:flutter/material.dart'; class AdaptiveRow extends StatelessWidget { const AdaptiveRow({super.key}); @override Widget build(BuildContext context) { var vertical = MediaQuery.orientationOf(context) == Orientation.portrait; if (vertical) { return Column( mainAxisAlignment: MainAxisAlignment.center, children: const [ Text('abcde'), Text('12345'), ], ); } return Row( mainAxisAlignment: MainAxisAlignment.center, children: const [ Text('abcde'), Text('12345'), ], ); } } void main() { runApp( MaterialApp( home: Scaffold( body: AdaptiveRow(), ), ), ); }

На экране тексты встанут в колонку или в ряд после поворота устройства.

Смотрите также

  • перечисление Orientation,
    которое описывает значения portrait и landscape
  • виджет OrientationBuilder,
    который перестраивает UI при смене ориентации
  • метод sizeOf,
    который меняется вместе с ориентацией
  • метод of,
    который возвращает полный MediaQueryData
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить