0

我不知道在颤振中解决这个问题。我想知道没有应用栏大小和标签栏大小(向上)的大小。

我使用变量“vertical_size”作为

var vertical_size = (MediaQuery.of(context).size.height -
                AppBar().preferredSize.height -
                MediaQuery.of(context).padding.top);

但我没有弄清楚标签栏的大小。这意味着 Iphone 中存在超大尺寸。(Android现在还可以...)

您有任何想法使用 Mediaquery 测量标签栏高度吗?或者有没有办法测量实际使用面积?

4

2 回答 2

1

您始终可以在布局中的任何位置找出可用空间LayoutBuilder

在完全可用的屏幕高度的情况下,您可以使用MediaQuery,但除了 appbar 的高度和顶部填充之外,请记住底部填充。你也需要减去它

于 2021-02-08T17:15:27.067 回答
0

您好,欢迎来到 StackOverflow。

它在 iOS 中并不过分。发生的情况是,AppBar将考虑安全区域,因此,它的高度将根据其运行的设备而更大/更小。

如果您想在没有高度的情况下获得屏幕的高度AppBar,只需按以下方式执行:

Widget build() {
  AppBar appBar = AppBar();

  double vertical_size = MediaQuery.of(context).size.height - appBar.preferredSize.height;

  return Scaffold(
    appBar: appBar,
    body: // your widget
  );
}

AppBar高度将考虑设备的状态栏等,因此无需手动删除插入填充。

于 2021-02-08T15:44:12.423 回答