小编Mah*_*i19的帖子

Flutter - 仅当内容高度大于屏幕高度时才启用滚动

默认情况下,我在主体小部件中采用 ListView() 或 SingleChildScrollView() 。因此,如果内容较少,则会滚动内容。我只想在内容大于屏幕高度时启用滚动。如果内容高度小于屏幕高度,需要禁用滚动。

double? physicalSizeScreenHeight =
  ui.window.physicalSize.height / ui.window.devicePixelRatio;

physics: physicalSizeScreenHeight <= 700 
? AlwaysScrollableScrollPhysics()
: NeverScrollableScrollPhysics(), 
Run Code Online (Sandbox Code Playgroud)

它适用于某些设备,不适用于某些设备,具体取决于屏幕宽度和高度,还取决于分辨率。

不检查“物理”中的任何条件始终或从不,并允许 AlwaysScrollableScrollPhysics(),然后取决于内容高度,需要启用/禁用滚动。

任何建议都将有助于解决这个问题。

flutter flutter-layout

7
推荐指数
2
解决办法
6571
查看次数

如何更改 Flutter 中 AppBar() 的宽度?

我想为 flutter web 重用移动应用程序代码。我已经在所有屏幕的脚手架中使用 AppBar() 和主体小部件进行了编码。现在我为网页采用 400 宽度和中心,除了应用栏之外都很好。

        Scaffold(
        appBar: this.getAppBarWidget(),
        body: Center(
          child: Container(
            width: kIsWeb ? 400.0 : MediaQuery.of(context).size.width,
            child: this.getBodyWidget(),
          ),
        ))
Run Code Online (Sandbox Code Playgroud)

上面的代码适用于除网页中的应用栏之外的所有移动和网页屏幕。

如何更改应用栏的宽度以适合宽度 400 ?

如果我使用 Size.fromWidth(400) 会出现错误。

以下代码适用于移动设备和网络。

   Scaffold(
    body: Center(
  child: Container(
    width: kIsWeb ? 400.0 : MediaQuery.of(context).size.width,
    child: Column(
      children: [
        this.getCustomAppbarWidget(),
        this.getBodyWidget(),
      ],
    ),
  ),
))
Run Code Online (Sandbox Code Playgroud)

请建议我。

flutter flutter-layout flutter-web

1
推荐指数
1
解决办法
5945
查看次数

标签 统计

flutter ×2

flutter-layout ×2

flutter-web ×1