默认情况下,我在body小部件中使用ListView()或SingleChildScrollView()。因此,如果内容较少,则会滚动内容。我只想在内容大于屏幕高度时启用滚动功能。如果内容高度小于屏幕高度,则需要关闭滚动。
double? physicalSizeScreenHeight =
ui.window.physicalSize.height / ui.window.devicePixelRatio;
physics: physicalSizeScreenHeight <= 700
? AlwaysScrollableScrollPhysics()
: NeverScrollableScrollPhysics(), 它适用于某些设备,而不适用于某些设备,这取决于屏幕的宽度和高度,也取决于分辨率。
不检查任何条件的“物理”总是或从不和允许AlwaysScrollableScrollPhysics(),然后取决于内容高度,需要启用/禁用滚动。
任何建议都将有助于解决这个问题。
发布于 2021-11-25 14:08:15
试着使用它
final size = MediaQuery.of(context);
final apparentSize = size.size.height - size.padding.bottom - size.padding.top发布于 2021-11-25 21:06:16
事实上,与直接使用ListView相比,SingleChildScrollView包装Column的一个(许多)区别是前者只有在Column中有太多项时才会滚动。
如果这不是你所看到的,你可能有其他的布局问题。
尝试这个简单的布局SingleChildScrollView > Column > Text('Hi')并验证它不会滚动。
https://stackoverflow.com/questions/70112181
复制相似问题