如何使用 MediaQuery 获取此高度
How to get this height with MediaQuery
编辑:我认为我的描述不是很清楚。我需要应用栏和导航栏之间的高度为双倍,这样我就可以用它调整其他东西的大小。
我已经完成了我的应用程序的逻辑编码,并且刚刚开始实施某人为我设计的设计。我的应用程序中的很多元素都根据可用高度进行了缩放。问题是,我不太确定如何可靠地获得它。那么...如何获取屏幕截图中红线指示的高度(取自设计):
我的做法:
availableHeight = MediaQuery.of(context).size.height - appBarHeight - BottomNavHeight - ?
问题:
- 有没有办法确定底部导航的高度?我有 appBarHeight,因为我手动控制它。
- 总高度还要减去什么?是否有默认填充或其他任何内容?
- 如果我将所有内容都包装在 SafeSpace 小部件中,会有什么效果?我该如何解释? (不确定,如果我愿意的话)。
看来您只是想获取可用区域供您使用。
在这种情况下,只需使用 LayoutBuilder
小部件。它会告诉你在你使用它的地方可用的区域。
例如:
return Scaffold(
appBar: AppBar(title: const Text('LayoutBuilder Example')),
body: LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints) {
print(constraints.maxWidth);
return FlutterLogo();
},
),
);
我想你想尝试在 appbar-navbar 之间获取剩余布局,它会自动完全使用,所以没有什么困难
编辑:我认为我的描述不是很清楚。我需要应用栏和导航栏之间的高度为双倍,这样我就可以用它调整其他东西的大小。
我已经完成了我的应用程序的逻辑编码,并且刚刚开始实施某人为我设计的设计。我的应用程序中的很多元素都根据可用高度进行了缩放。问题是,我不太确定如何可靠地获得它。那么...如何获取屏幕截图中红线指示的高度(取自设计):
我的做法:
availableHeight = MediaQuery.of(context).size.height - appBarHeight - BottomNavHeight - ?
问题:
- 有没有办法确定底部导航的高度?我有 appBarHeight,因为我手动控制它。
- 总高度还要减去什么?是否有默认填充或其他任何内容?
- 如果我将所有内容都包装在 SafeSpace 小部件中,会有什么效果?我该如何解释? (不确定,如果我愿意的话)。
看来您只是想获取可用区域供您使用。
在这种情况下,只需使用 LayoutBuilder
小部件。它会告诉你在你使用它的地方可用的区域。
例如:
return Scaffold(
appBar: AppBar(title: const Text('LayoutBuilder Example')),
body: LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints) {
print(constraints.maxWidth);
return FlutterLogo();
},
),
);
我想你想尝试在 appbar-navbar 之间获取剩余布局,它会自动完全使用,所以没有什么困难