Flutter:用于横向和纵向模式的 BuildLayouts
Flutter: BuildLayouts for landscape and portrait mode
我正在处理 Flutter 应用程序的第一个屏幕,想让他适应屏幕大小和方向。因为我只做移动端开发,所以尺寸不是什么大问题,但是为了横向模式寻找好的解决方案,我找到的唯一方法就是为它做一个全新的布局。
如果您不想让您的客户一直滚动,这真的是唯一的解决方案吗?还是有其他方法?
使用 MediaQuery
或 OrientationBuilder
并基于屏幕上的输出渲染 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
我正在处理 Flutter 应用程序的第一个屏幕,想让他适应屏幕大小和方向。因为我只做移动端开发,所以尺寸不是什么大问题,但是为了横向模式寻找好的解决方案,我找到的唯一方法就是为它做一个全新的布局。
如果您不想让您的客户一直滚动,这真的是唯一的解决方案吗?还是有其他方法?
使用 MediaQuery
或 OrientationBuilder
并基于屏幕上的输出渲染 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