Flutter:用于横向和纵向模式的 BuildLayouts

Flutter: BuildLayouts for landscape and portrait mode

我正在处理 Flutter 应用程序的第一个屏幕,想让他适应屏幕大小和方向。因为我只做移动端开发,所以尺寸不是什么大问题,但是为了横向模式寻找好的解决方案,我找到的唯一方法就是为它做一个全新的布局。

如果您不想让您的客户一直滚动,这真的是唯一的解决方案吗?还是有其他方法?

使用 MediaQueryOrientationBuilder 并基于屏幕上的输出渲染 Widgets

方向生成器:

它根据屏幕上的渲染小部件为设备方向提供回调

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,
    );
  },
);

媒体查询:

这是基于语句的查询,当需要对任何点击事件或计时器进行定位时,可以执行基于该特定调用的地方,

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