Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振中方向改变时如何重建?_Flutter_Dart - Fatal编程技术网

Flutter 颤振中方向改变时如何重建?

Flutter 颤振中方向改变时如何重建?,flutter,dart,Flutter,Dart,我已经在颤振中创建了应用程序,但当方向改变时,它并没有重建。 我想在方向从纵向更改为landscap或从横向更改为纵向时重建小部件。 请给我一些想法。您可以使用OrientationBuilder OrientationBuilder( builder: (context, orientation) { return GridView.count( // Create a grid with 2 columns in portrait mode, // or

我已经在颤振中创建了应用程序,但当方向改变时,它并没有重建。 我想在方向从纵向更改为landscap或从横向更改为纵向时重建小部件。
请给我一些想法。

您可以使用
OrientationBuilder

OrientationBuilder(
  builder: (context, orientation) {
    return GridView.count(
      // Create a grid with 2 columns in portrait mode,
      // or 3 columns in landscape mode.
      crossAxisCount: orientation == Orientation.portrait ? 2 : 3,
    );
  },
);
您还可以通过is media query访问方向

class MyWidget extends StatelessWidget {
  Widget build(BuildContext context) {
    final mediaQueryData = MediaQuery.of(context);
    if (mediaQueryData.orientation == Orientation.landscape) {
      return const Text('landscape');
    }
    return const Text('portrait!');
  }
}

您可以使用
OrientationBuilder

OrientationBuilder(
  builder: (context, orientation) {
    return GridView.count(
      // Create a grid with 2 columns in portrait mode,
      // or 3 columns in landscape mode.
      crossAxisCount: orientation == Orientation.portrait ? 2 : 3,
    );
  },
);
您还可以通过is media query访问方向

class MyWidget extends StatelessWidget {
  Widget build(BuildContext context) {
    final mediaQueryData = MediaQuery.of(context);
    if (mediaQueryData.orientation == Orientation.landscape) {
      return const Text('landscape');
    }
    return const Text('portrait!');
  }
}

据我所知,默认情况下,当方向改变时,它会重建。您是否进行了与方向更改相关的任何修改?没有。我没有输入任何与方向相关的代码。但它不会重建。我不知道手机方向为何被锁定?您是否验证设备/模拟器中是否启用了自动旋转?我只能在滚动或触摸UI时重建。否则它不会在方向改变时自动重建正如我所知,默认情况下它会在方向改变时重建。您是否进行了与方向更改相关的任何修改?没有。我没有输入任何与方向相关的代码。但它不会重建。我不知道手机方向为何被锁定?您是否验证设备/模拟器中是否启用了自动旋转?我只能在滚动或触摸UI时重建。否则,当方向改变时,它不会自动重建