【问题标题】:How can I measure the specific height in the flutter?如何测量颤振中的特定高度?
【发布时间】:2021-05-12 05:24:02
【问题描述】:
我不知道在颤振中解决这个问题。我想知道没有应用栏大小和标签栏大小(向上)的大小。
我使用变量“vertical_size”作为
var vertical_size = (MediaQuery.of(context).size.height -
AppBar().preferredSize.height -
MediaQuery.of(context).padding.top);
但我没有弄清楚标签栏的大小。这意味着 Iphone 中存在超大尺寸。 (Android 现在还可以……)
您知道使用 Mediaquery 测量标签栏高度吗?或者有没有办法测量实际使用面积?
【问题讨论】:
标签:
flutter
dart
tabbar
flutter-appbar
flutter-build
【解决方案1】:
您好,欢迎来到 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 的高度会考虑到设备的状态栏等,因此无需手动移除内边距。
【解决方案2】:
您可以随时使用LayoutBuilder在您想要的布局中找出可用空间
在完全可用的屏幕高度的情况下,您可以使用MediaQuery,但除了应用栏的高度和顶部填充之外,请记住底部填充。你也需要减去它