Flutter:横向和纵向模式的BuildLayouts

问题描述

我正在使用Flutter App的第一个屏幕,希望使他适应屏幕尺寸和方向。当我只为移动设备开发时,尺寸并不是什么大问题,但是在寻找横向模式的良好解决方案时,我发现的唯一方法就是为其重新设计布局。

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

解决方法

根据屏幕上的输出渲染MediaQuery使用OrientationBuilderWidgets

OrientationBuilder:

它会根据设备在屏幕上的呈现方式来回调设备的方向

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

MediaQuery:

这是基于语句的查询,当需要定位任何点击事件或计时器的位置时,可以基于特定的调用来使用

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...