Как обнаружить изменение ориентации в макете во флаттере? - PullRequest
0 голосов
/ 12 июня 2018

Как узнать Ориентация - это портрет или пейзаж во Флаттере

if(portrait){
  return ListView.builder()
}else{
  return GridView.count()
}

Ответы [ 3 ]

0 голосов
/ 12 июня 2018

Чтобы определить ориентацию экрана, мы можем использовать виджет OrientationBuilder.OrientationBuilder определит текущую ориентацию и восстановит ее при изменении ориентации.

new OrientationBuilder(
  builder: (context, orientation) {
    return new GridView.count(
      // Create a grid with 2 columns in portrait mode, or 3 columns in
      // landscape mode.
      crossAxisCount: orientation == Orientation.portrait ? 2 : 3,
    );
  },
);

полный пример вы можете найти здесь: https://flutter.io/cookbook/design/orientation/

0 голосов
/ 12 июня 2018

это довольно просто

if (MediaQuery.of(context).orientation == Orientation.portrait){
    // is portrait
}else{
// is landscape
}
0 голосов
/ 12 июня 2018

Вы можете использовать MediaQuery для проверки ориентации:

var isPortrait = MediaQuery.of(context).orientation == Orientation.portrait
...