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