当颤振方向发生变化时,如何重建



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

您可以使用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媒体查询访问方向

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!');
}
}

最新更新