web-dev-qa-db-ja.com

Flutterでレイアウトの向きの変化を検出する方法は?

Flutterで向きが縦向きか横向きかを調べる方法

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

画面の方向を決定するために、OrientationBuilderウィジェットを使用できます。 OrientationBuilderは、現在のOrientationを決定し、Orientationが変更されると再構築します。

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/

24
Siavash

MediaQueryを使用して方向を確認できます。

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

とても簡単です

if (MediaQuery.of(context).orientation == Orientation.portrait){
    // is portrait
}else{
// is landscape
}
5